I am currently working on a Vehicle pack. I have been working on the Dragracer and the F1 Racer for two to three weeks.
People dislike these and do not understand that they are not done. So I may not release them anymore.These are what I have made.
Vehicles Made- Dragracer
- F1 Racer
- Sports Car
The DragracerThe Dragracer's MaxWheelSpeed is 90. The Dragracer has some problems. My Graphics Card or whatever it's called it screwed up. The Emitters are all low quality no matter what I set it to. I can only see most of the emitters and particles on other servers. I don't know why.
This is my problem.
I am currently working on The Exhaust emitters for my Dragracer. How do I get this to work for more than one joint? If only works on one of my exhaust pipes.
[/list]datablock ParticleData(DragTireParticle)
{
dragCoefficient = 10;
gravityCoefficient = -0.15;
inheritedVelFactor = 0.2;
constantAcceleration = 0.0;
lifetimeMS = 1250;
lifetimeVarianceMS = 150;
textureName = "base/data/particles/cloud";
spinSpeed = 50.0;
spinRandomMin = -500.0;
spinRandomMax = 500.0;
colors[0] = "5.0 5.0 5.0 0.2";
colors[1] = "5.0 5.0 5.0 0.0";
sizes[0] = 0.2;
sizes[1] = 3.9;
useInvAlpha = true;
};
datablock ParticleEmitterData(DragTireEmitter)
{
ejectionPeriodMS = 6;
periodVarianceMS = 0;
ejectionVelocity = 10;
velocityVariance = 5.0;
ejectionOffset = 0.0;
thetaMin = 0;
thetaMax = 95;
phiReferenceVel = 0;
phiVariance = 360;
overrideAdvance = false;
particles = DragTireParticle;
uiname = "Dragracer Tire Emitter";
};
datablock WheeledVehicleTire(DragBigTire)
{
shapeFile = "./DragBigTire.dts";
mass = 10;
radius = 1;
staticFriction = 5;
kineticFriction = 5;
restitution = 0.5;
// Spring that generates lateral tire forces
lateralForce = 18000;
lateralDamping = 4000;
lateralRelaxation = 0.01;
// Spring that generates longitudinal tire forces
longitudinalForce = 14000;
longitudinalDamping = 2000;
longitudinalRelaxation = 0.01;
};
datablock WheeledVehicleTire(DragSmallTire)
{
shapeFile = "./DragSmallTire.dts";
mass = 10;
radius = 1;
staticFriction = 5;
kineticFriction = 5;
restitution = 0.5;
// Spring that generates lateral tire forces
lateralForce = 20000;
lateralDamping = 6000;
lateralRelaxation = 0.01;
// Spring that generates longitudinal tire forces
longitudinalForce = 18000;
longitudinalDamping = 4000;
longitudinalRelaxation = 0.01;
};
datablock WheeledVehicleSpring(DragSmallSpring)
{
// Wheel suspension properties
length = 0.4; // Suspension travel
force = 2500; //2000; // Spring force
damping = 1500; //1500; // Spring damping
antiSwayForce = 1; //1; // Lateral anti-sway force
};
datablock WheeledVehicleSpring(DragBigSpring)
{
// Wheel suspension properties
length = 0.4; // Suspension travel
force = 1700; //1550; // Spring force
damping = 1000; //1000; // Spring damping
antiSwayForce = 1; //1; // Lateral anti-sway force
};
// Sounds //
////////////
datablock AudioProfile(fastImpactSound)
{
filename = "./fastimpact.WAV";
description = AudioDefault3d;
preload = true;
};
datablock AudioProfile(slowImpactSound)
{
filename = "./slowimpact.wav";
description = AudioDefault3d;
preload = true;
};
// Vehicle //
/////////////
datablock WheeledVehicleData(DragracerVehicle)
{
category = "Vehicles";
displayName = " ";
shapeFile = "./dragracer.dts";
emap = true;
minMountDist = 3;
numMountPoints = 1;
mountThread[0] = "sit";
maxDamage = 200.00;
destroyedLevel = 200.00;
speedDamageScale = 1.04;
collDamageThresholdVel = 20.0;
collDamageMultiplier = 0.02;
massCenter = "0 0 0";
//massBox = "2 5 1";
maxSteeringAngle = 0.6; // Maximum steering angle, should match animation
integration = 4; // Force integration time: TickSec/Rate
tireEmitter = DragTireEmitter; // All the tires use the same dust emitter
// 3rd person camera settings
cameraRoll = false; // Roll the camera with the vehicle
cameraMaxDist = 13; // Far distance from vehicle
cameraOffset = 7.5; // Vertical offset from camera mount point
cameraLag = 0.0; // Velocity lag of camera
cameraDecay = 0.75; // Decay per sec. rate of velocity lag
cameraTilt = 0.4;
collisionTol = 0.1; // Collision distance tolerance
contactTol = 0.1;
useEyePoint = false;
defaultTire = DragSmallTire;
defaultSpring = DragBigSpring;
flatTire = jeepflattire;
flatSpring = jeepflatspring;
numWheels = 4;
// Rigid Body
mass = 300;
density = 5.0;
drag = 3.0;
bodyFriction = 0.6;
bodyRestitution = 0.6;
minImpactSpeed = 10; // Impacts over this invoke the script callback
softImpactSpeed = 10; // Play SoftImpact Sound
hardImpactSpeed = 15; // Play HardImpact Sound
groundImpactMinSpeed = 10.0;
// Engine
engineTorque = 9000;
engineBrake = 2000;
brakeTorque = 8000;
maxWheelSpeed = 90;
rollForce = 300;
yawForce = 300;
pitchForce = 300;
rotationalDrag = 0.05;
// Advanced Steering
steeringAutoReturn = true;
steeringAutoReturnRate = 3.0;
steeringAutoReturnMaxSpeed = 4;
steeringUseStrafeSteering = true;
steeringStrafeSteeringRate = 0.1;
// Energy
maxEnergy = 100;
jetForce = 3000;
minJetEnergy = 30;
jetEnergyDrain = 2;
// Sounds
softImpactSound = slowImpactSound;
hardImpactSound = fastImpactSound;
//wheelImpactSound = slowImpactSound;
// explosion = VehicleExplosion;
justcollided = 0;
uiName = "Dragracer";
rideable = true;
lookUpLimit = 0.65;
lookDownLimit = 0.45;
paintable = true;
damageEmitter[0] = VehicleBurnEmitter;
damageEmitterOffset[0] = "0.0 0.0 0.0 ";
damageLevelTolerance[0] = 0.99;
damageEmitter[1] = VehicleBurnEmitter;
damageEmitterOffset[1] = "0.0 0.0 0.0 ";
damageLevelTolerance[1] = 1.0;
numDmgEmitterAreas = 1;
initialExplosionProjectile = DragracerExplosionProjectile;
initialExplosionOffset = 0; //offset only uses a z value for now
burnTime = 4000;
finalExplosionProjectile = DragracerFinalExplosionProjectile;
finalExplosionOffset = 0.5; //offset only uses a z value for now
minRunOverSpeed = 20; //how fast you need to be going to run someone over (do damage)
runOverDamageScale = 30; //when you run over someone, speed * runoverdamagescale = damage amt
runOverPushScale = 1000; //how hard a person you're running over gets pushed
};
function DragracerVehicle::onAdd(%this,%obj)
{
parent::onadd(%this,%obj);
%obj.mountable = true;
%obj.setWheelTire(0, DragSmallTire);
%obj.setWheelTire(1, DragSmallTire);
%obj.setWheelTire(2, DragBigTire);
%obj.setWheelTire(3, DragBigTire);
%obj.setWheelSpring(0, DragSmallSpring);
%obj.setWheelSpring(1, DragSmallSpring);
%obj.setWheelSpring(2, DragBigSpring);
%obj.setWheelSpring(3, DragBigSpring);
%obj.setWheelSteering(0,1);
%obj.setWheelSteering(1,1);
%obj.setWheelSteering(2,0);
%obj.setWheelSteering(3,0);
%obj.setWheelPowered(0,true);
%obj.setWheelPowered(1,true);
%obj.setWheelPowered(2,true);
%obj.setWheelPowered(3,true);
%obj.playthread(0,"propslow");
DragracerSmokeCheck(%obj);
}
datablock ParticleData(DragExhaustParticle)
{
textureName = "base/data/particles/cloud";
dragCoefficient = 0.0;
windCoefficient = 0.5;
gravityCoefficient = -0.5;
inheritedVelFactor = 0.2;
lifetimeMS = 300;
lifetimeVarianceMS = 0;
useInvAlpha = true;
spinRandomMin = 0.0;
spinRandomMax = 0.0;
colors[0] = "0.7 0.5 0.2 0.7";
colors[1] = "0.7 0.7 0.7 0.07";
colors[2] = "0.75 0.75 0.75 0.0";
sizes[0] = 0.20;
sizes[1] = 0.25;
sizes[2] = 3;
times[0] = 0;
times[1] = 0.1;
times[2] = 1;
};
datablock ParticleEmitterData(DragExhaustEmitter)
{
ejectionPeriodMS = 10;
periodVarianceMS = 0;
ejectionVelocity = 0.5;
velocityVariance = 0.0;
ejectionOffset = 0.1;
thetaMin = 0;
thetaMax = 180;
phiReferenceVel = 0;
phiVariance = 360;
overrideAdvance = false;
particles = "DragExhaustParticle";
};
datablock ShapeBaseImageData(DragExhaustImage1)
{
shapeFile = "base/data/shapes/empty.dts";
emap = false;
mountPoint = 6;
rotation = "1 0 0 -90";
stateName[0] = "Ready";
stateTransitionOnTimeout[0] = "FireA";
stateTimeoutValue[0] = 0.01;
stateName[1] = "FireA";
stateEmitter[1] = DragExhaustEmitter;
stateEmitterTime[1] = 10000;
};
function DragracerSmokeCheck(%obj)
{
%obj.mountImage(DragExhaustImage1,2);
}
Here are the pictures.
The F1 RacerThe F1 Racer has no current problems. It has a MaxWheelSpeed of 60.
Here are the pictures.
The Sports CarThe Sports Car has no current problems. It has a MaxWheelSpeed of 55.
Here are the pictures.
_____________________________
_____________________________
_____________________________
_____________
Ideas and SuggestionsI am willing to take suggestions to make my models better and fix mistakes.
I am willing to take Ideas of racing vehicles as well. I can't come up with any racing vehicles. If you decide to give me an idea, please include pictures of the
Front,
Side, and
Back. If you can't find some of these parts in the pictures, please describe that part the best you can.