The cars were a late addition to the image. The deadline was approaching and I felt that the image was somehow too symbolic for my own taste. Also, I had done quite a few empty cities before and this was turning into a personal gimmick. Finally, I felt that the vast expanse of emptiness on the left enhanced the loneliness of the ghost. I wanted it to be lonely, but in a low-key sort of way. And the image was too dark and verging on dull. Here is a snapshot of the image a few days before the deadline: there are no cars, no bird, and a dummy building on the right. The Chrysler building doesn't have its terminal spire yet, that I would later make with CSG. I then thought that putting cars would add some weight to the scene, add colours and give it more balance. All the cars were found in various 3D model sites. Mostly were in 3DS format, and they were easily converted to the mesh2 format by 3DS2POV. Fortunately, they were all made of different parts textured independently. Unfortunately, it took me some time to figure out what were these parts and how to texture them, not to mention the vastly different units used by the model makers. Some cars were tiny while other were 1000 units large ! Other models were positioned strangely, with the model apparently containing some environment info (lights, ground, sky). Each of the 10 cars had to be processed separately, until I was able to texture and place it accurately. Below is an example of a car definition : the texture names not beginning by "txt" (like MBRASS1) are the ones found in the original 3DS file. The cars were put in an array. |
#declare
txtPaint=texture{pigment{Black} normal{dents -1 scale 0.01} finish{ambient 0 diffuse 1
specular 1 roughness 0.001 reflection 0.05}}
#declare txtRed=texture{pigment{rgb<1,0.01,0.01>*2} finish{ambient 1 diffuse
0}}
#declare default_texture = texture{txtPaint}
#declare MBLACK_MATTE = texture{txtBlack}
#declare MMaterial__3_azul = texture{txtPaint}
#declare MBLK_PLASTISTEEL = texture{txtBlack}
#declare MMaterial__10 = texture{txtBlack}
#declare MMaterial__2_crom = texture{txtMetal}
#declare MMaterial__8_cris = texture{txtLight}
#declare MMaterial__6 = texture{txtRed}
#declare MMaterial__11 = texture{txtRed}
#declare MBRASS1 = texture{txtMetal}
#declare MBLACK_GLASS = texture{txtGlass}
#declare MBLACK_GLASS1 = texture{txtGlass}
#declare MBLACK_MOLDURAS = texture{txtBlack}
#declare MBEIGE_PLSTC = texture{txtWhite}
#declare MBEIGE_MATTEOBSCU = texture{txtBlack}
#declare MWHITE_MATTE = texture{txtWhite}
#include
"cars\limomepo_o.inc"
#declare Cars[7]=union{
object{ pneu1 } object{ carroceria } object{ partegris } object{ ventanas }
object{ parteinfne } object{ moldurasgr } object{ parrillapl } object{ faros }
object{ calaveras } object{ cuartosdel } object{ calaverast } object{ rinesdelan }
object{ rinestrase } object{ pneu02 } object{ asientotra } object{ sombrerera }
object{ Division } object{ cristdivis } object{ sunroofcrs } object{ marcossu01 }
object{ suelo }
object{ asientodel } object{ volante } object{ tableroins } object{ antena01 }
translate
<0.693465-(0.315712+0.693465)/2,0.165808,2.106578-(0.894266+2.106578)/2> scale
1.7/(0.165808+0.58554)
}
After that, I had to add better taillights, since a simple ambient 1 texture wasnt very realistic. This was done with emitting media put in box and spheres. Each media was positioned on the corresponding mesh, by trial and error. Here is an example of media code for the Thunderbird on the left :
#declare TLSmall=sphere{0,1
texture{pigment{Clear} finish{ambient 0 diffuse 0}}
interior{
media{emission Red*3 density{spherical color_map{[0 Black] [1 White*2]}}}
media{emission Yellow*4 density{spherical color_map{[0 Black] [1 White*4]}} scale
0.5}
}
hollow scale 1 translate y*0.5
}
#declare TLLargei=sphere{0,1
texture{pigment{Clear} finish{ambient 0 diffuse 0}}
interior{
media{emission Red*3 density{spherical color_map{[0 Black] [1 White*2]}}}
media{emission rgb<1,0.8,0.1>*4 density{spherical color_map{[0 Black] [1
White*3]}} scale 0.5}
}
hollow translate <1,0,-1>
}
#declare TLargeCombo=union{
object{TLLargei scale 1}object{TLLargei scale 1 translate x}object{TLLargei scale
<1,0.9,1> translate x*2}
object{TLLargei scale <1,0.8,1> translate x*3}object{TLLargei scale
<1,0.9,1> translate x*4}
object{TLLargei scale <1,0.7,1> translate x*5}object{TLLargei scale
<1,0.5,1> translate x*6}
rotate z*-1 scale <1/6,1,1>
}
#declare TLarge=union{
object{TLargeCombo}
sphere{0,1
texture{pigment{Clear} finish{ambient 0 diffuse 0}}
interior{ media{emission Red*3 density{spherical color_map{[0 Black] [1
White*2]}}}}
hollow scale <0.85,1.1,1.5> translate <1,0,-1>
}
}
object{TLSmall scale <0.25,0.09,0.1> translate <-0.66,0.56,-2.99>} //
tlsmall
object{TLSmall scale <0.25,0.09,0.1> translate <-0.66,0.56,-2.99> scale
<-1,1,1>} // tlsmall
object{TLarge translate -0.5*x scale <-0.5,0.12,0.1> translate
<-0.5,0.82,-2.9> } //tlbig
object{TLarge translate -0.5*x scale <-0.5,0.12,0.1> translate
<-0.5,0.82,-2.9> scale <-1,1,1>} //tlbig
There's a 64 Thunderbird, a Toyota, a Porsche, 2 Camaros, 2 Mercedes (including a limo), a Jaguar, a Montecarlo (model by FastTraxxx found at the PropsGuild) and some sort of low-detail Jeep. These 10 cars were replicated 12 times at not memory cost (thanks to the mesh format) and arranged in 3 lines. One last addition was a licence plate for the Thunderbird. I ran out of time to make exhaust fumes.
Here is a close-up of the T-Bird. The close-up also reveals the simplistic halo of the Toyota's taillights...
Note: due to poor management from my part, I didn't keep track of the various authors of the cars, either because their names weren't included with the model, or because the reference was lost during the conversion process. If you recognize your work, please send me a note so that I can credit you properly.