factory.specular = RGB(255,255,255); factory.sharpness = 40; factory.useDegrees = true; // choose some default material factory.material = Material(1e-4, 200, .99, 0.6, .4); scene.defaultLights(true, 2 ); scene.scale = 1; scene.gravity={0,-981,0}; scene.backColor=RGB(128, 128, 192); class CCar { factory.calcMechanics=false; var car= Mesh("racecar_JH.3ds", ""); car.rotate(-90,0,0); car.rotate(0,180,0); car.move(0,55.02,250); // glass is environment texture var et1= EnvTexture(); var et2= EnvTexture(); car.glass.color = RGB(200,200,200); car.glass.useTexture(et1); car.car_body.color = RGB(255, 0, 0); car.cartop.color = RGB(255, 0, 0); car.grill.color = RGB(255, 0, 0); car.logo.color = RGB(255,255,255); car.backside.color = RGB(255, 0, 0); car.rtire.color=RGB(150,150,150); car.rtire2.color=RGB(150,150,150); car.ftire.color=RGB(150,150,150); car.ftire2.color=RGB(150,150,150); car.tlenses.color=RGB(0,0,255); car.interior.color= RGB(0,0,0); car.interior.detectCollision = false; car.swheel.visible = false; car.swheel.detectCollision = false; car.shaft.visible = false; car.shaft.detectCollision = false; }; var speed = 2700; var angle = 0; var theCar = CCar(); //theCar .move(0,1,0); theCar .calcMechanics=true; theCar .mass = 1600; theCar .rotMass = {2e5,4e5,1e5}; theCar.centerOfMass={0,50,300}; theCar.velocity={-speed *sin(angle),0,-speed *cos(angle )}; theCar.rotate(0, angle ,0); //theCar.move(0,0,20); var tex= Texture("alu.jpg"); var bottom = Box({5000,100,5000},{0,-50,0}); //bottom.color = RGB(192,192,192); bottom.static = true; bottom.shadow = false; bottom.useTexture(tex, WRAP_MIRRORED , 10,10); bottom.specular= RGB(0, 0, 0); bottom.diffuse= RGB(150,150,150); factory.specular = RGB(128,128,128); factory.material = Material(7e-4, 800 , .999, 0.8, .4); var wall = array(); var szBrick = 15; srand(1234); class Brick(x,y) { var b = Box({szBrick*2, szBrick , szBrick }, {x*szBrick *2, y*szBrick+szBrick/2, szBrick /2}); b.color = RGB(128+rand()*20, 128+rand()*20, 0+rand()*20); }; for (var x=0;x<20;x++) { for (var h=0;h<20;h++) { wall.append(Brick(x-10,h)); } } simulator.stepsize = 5e-5; simulator.method = SIM_RK1; while (simulator.time < 2) { WaitFrame(); simulator.run(1e-3); }