Gamestudio Links
Zorro Links
Newest Posts
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
4 registered members (TedMar, AndrewAMD, dr_panther, 1 invisible), 1,186 guests, and 4 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 3 of 3 1 2 3
Re: Car simulation using physics engine (PRO) [Re: vrkaya] #23412
02/26/04 04:27
02/26/04 04:27
Joined: Sep 2000
Posts: 300
Ohio, USA
V
vrkaya Offline
Senior Member
vrkaya  Offline
Senior Member
V

Joined: Sep 2000
Posts: 300
Ohio, USA
Oops, I didn't notice that the left arrow was rotating right and the right arrow was rotating left. Duh.

I made a small change to correct that.

Code:

starter move_camera()
{
camera.arc=72;
camera.clip_near=20;
camera.clip_far=24000;
var cam_ang[3];
var cam_dist=500;
var pan_adjustment = 0;
cam_ang.pan=180;
cam_ang.tilt=30;
cam_ang.roll=0;

while(!p_vehicle){wait(1);}

while(1)
{
camera.x = p_vehicle.x - 350 * cos(p_vehicle.pan + pan_adjustment);
camera.y = p_vehicle.y - 350 * sin(p_vehicle.pan + pan_adjustment);
camera.z = p_vehicle.z + 100;
camera.pan = p_vehicle.pan + pan_adjustment;
camera.tilt = -10;

// Adjust viewing angle with left arrow and right arrow keys
if (key_cul == 1)
{ pan_adjustment -= 1; }
if (key_cur == 1)
{ pan_adjustment += 1; }

wait(1);
}
}



Regards, Ron

Re: Car simulation using physics engine (PRO) [Re: vrkaya] #23413
02/28/04 13:03
02/28/04 13:03
Joined: Sep 2000
Posts: 300
Ohio, USA
V
vrkaya Offline
Senior Member
vrkaya  Offline
Senior Member
V

Joined: Sep 2000
Posts: 300
Ohio, USA
I have added more realistic acceleration to the car, and have added "brakes" with the following code. To use the brakes, just tap the 'x' key while the car is moving and it will feel like you are tapping the brakes - to slam the brakes on, just hold down the 'x' key and watch the car skid to a stop. Replace the NewtonVehicle action in your vehicle_playground.wdl file with this:

Code:

action NewtonVehicle
{
var car;
var forward_flag;
var reverse_flag;
var engine_torque;

// save the pointer to the entity as the player
p_vehicle = my;

// create the vehicle
NewtonCreateVehicle (wood_material, VehicleTireEvent, VehicleBeginEvent, VehicleEndEvent);

dll_handle = newtonHandle;
car = NewtonGetBody (my);

// make the car always active
NewtonSetBodyAutoActiveState (car, 0);
NewtonSetBodyActiveState (car, 1);

// asign a special force event to the rover
NewtonSetBodyForceAndTorque (car, VehicleForceEvent);

my.carSteerTorque = 0.0;
my.carEngineTorque = 0.0;
forward_flag = 0.0;
reverse_flag = 0.0;

// this is the vehicle control loop;
while (1) {

// read wheel controls
if(key_a)
{
my.carSteerTorque += .15 * time; // smoothly turn wheels left
if(my.carSteerTorque > 1.0) // clamp
{ my.carSteerTorque = 1.0; }
}
if(key_d)
{
my.carSteerTorque -= .15 * time; // smoothly turn wheels right
if(my.carSteerTorque < -1.0) // clamp
{ my.carSteerTorque = -1.0; }
}
if(key_w)
{
if(forward_flag == 1.0)
{ engine_torque = 0.0;
forward_flag = 0.0;
}
reverse_flag = 1.0;

engine_torque += 10.0 * time;
if(engine_torque >= my.car_maxToque)
{ engine_torque = my.car_maxToque; }
my.carEngineTorque = engine_torque;
my.car_topSpeed = engine_torque * 4;
}
if(key_s)
{
if(reverse_flag == 1.0)
{ engine_torque = 0.0;
reverse_flag = 0.0;
}
forward_flag = 1.0;

engine_torque += 10.0 * time;
if(engine_torque >= my.car_maxToque) // clamp
{ engine_torque = my.car_maxToque; }
my.carEngineTorque = -engine_torque; // transfer calculation
my.car_topSpeed = engine_torque * 4; // Calc topSpeed based on torque level
}
if(key_x) // Apply brakes
{ engine_torque -= 10.0 * time;
if(engine_torque <= 0.0)
{ engine_torque = 0.0; }

if(forward_flag == 0.0) // Car is moving forward
{ my.carEngineTorque = engine_torque; }
if(reverse_flag == 0.0) // Car is moving in reverse
{ my.carEngineTorque = -engine_torque; }
}

// Return turned wheels to straight
if(my.carSteerTorque > 0.0)
{ my.carSteerTorque -= .05 * time; }
if(my.carSteerTorque < 0.0)
{ my.carSteerTorque += .05 * time; }

wait(1);
}
}



Regards, Ron

Re: Car simulation using physics engine (PRO) [Re: vrkaya] #23414
05/24/04 21:57
05/24/04 21:57
Joined: Apr 2004
Posts: 40
S
steve52 Offline
Newbie
steve52  Offline
Newbie
S

Joined: Apr 2004
Posts: 40
I'm still working on the with carlevel but the car seems to skid to much (like it's driving on a wet surface.

I've tried to work with a own fix but i don't seem to get it to work.
Anyone else had more luck ?


Tnx in advance,

steve

Page 3 of 3 1 2 3

Moderated by  HeelX, Spirit 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1