187 lines
6.8 KiB
C++
187 lines
6.8 KiB
C++
////////////////////////////////////////// Physics Parameters
|
|
|
|
////////////////////////////////////////// Land Behavior
|
|
slowSpeedForwardCoef=0.3; // fator que limita a velocidade do veículo quano a AI recebe o comando "Car Slow Foward".
|
|
normalSpeedForwardCoef=0.6; // fator que limita a velocidade do veículo quano a AI recebe o comando "Car Foward".
|
|
terrainCoef=1.5; // Importância do 'SurfaceFriction" ao limitar a velocidade do veículo.
|
|
turnCoef=3; // Ângulo máximo de esterçamento das rodas.
|
|
dampersBumpCoef=2; // Define o quanto os amortecedores reagem à pequenas imperfeições do terreno. EFEITO VISUAL APENAS!
|
|
brakeDistance=5; // Velocidade de frenagem valor padrão 5m/s.
|
|
maxSpeed=95; // Velocidade máxima em Km/h.
|
|
fuelCapacity=86; // Capacidade de combustível do veículo, seu consumo é definido pela RPM do motor.
|
|
ace_refuel_fuelCapacity=300; // ACE
|
|
brakeIdleSpeed=0.2; // Velocidade que os freios são aplicados automaticamente.
|
|
simulation="carx"; // Tipo de simulação do veículo.
|
|
class complexGearbox // Parâmetros de caixa de marcha
|
|
{
|
|
GearboxRatios[]=
|
|
{
|
|
"R1",-7.38,
|
|
"N",0,
|
|
"D1",5.1,
|
|
"D2",3.52,
|
|
"D3",2.31,
|
|
"D4",1.81,
|
|
"D5",1.15,
|
|
"D6",1.0
|
|
};
|
|
TransmissionRatios[]=
|
|
{
|
|
"High",3.58
|
|
};
|
|
AmphibiousRatios[]=
|
|
{
|
|
"R1",-10,
|
|
"N",0,
|
|
"D1",30
|
|
};
|
|
gearBoxMode="auto";
|
|
moveOffGear=1;
|
|
driveString="D";
|
|
neutralString="N";
|
|
reverseString="R";
|
|
};
|
|
changeGearMinEffectivity[]=
|
|
{
|
|
0.45,
|
|
0.0,
|
|
0.85,
|
|
0.85,
|
|
0.85,
|
|
0.85,
|
|
0.85,
|
|
0.85
|
|
};
|
|
switchTime=0.15; // Tempo de troca de marcha em segundos.
|
|
latency=1.4; // Tempo mínimo entre a troca de marchas, deve ser maior que o 'switchTime'.
|
|
differentialType="all_limited"; // Tipo de diferencial
|
|
frontRearSplit=0.5;
|
|
frontBias=1.3;
|
|
rearBias=1.3;
|
|
centreBias=1.3;
|
|
clutchStrength=35;
|
|
dampingRateFullThrottle=0.08;
|
|
dampingRateZeroThrottleClutchEngaged=2;
|
|
dampingRateZeroThrottleClutchDisengaged=0.35;
|
|
torqueCurve[]=
|
|
{
|
|
{ "(600/2000)","(0/2120)" },
|
|
{ "(800/2000)","(1785/2120)" },
|
|
{ "(1000/2000)","(2120/2120)" },
|
|
{ "(1200/2000)","(2065/2120)" },
|
|
{ "(1400/2000)","(1980/2120)" },
|
|
{ "(1600/2000)","(1875/2120)" },
|
|
{ "(1800/2000)","(1810/2120)" },
|
|
{ "(2000/2000)","(1350/2120)" }
|
|
};
|
|
maxOmega=220; // Velocidade rotacional máxima do motor em radianos por segundo. expresso por (maxRpm*2*Pi)/60.
|
|
enginePower=380; // Potência do motor em kW.
|
|
peakTorque=2120; // Torque máximo do motor.
|
|
idleRPM=400; // RPM em "ponto morto".
|
|
redRPM=2200; // RPM máximo do veículo.
|
|
thrustDelay=0.2; // Tempo em segundos que o input do acelerador leva pra ir de 0 a 1.
|
|
engineShiftY=1.1;
|
|
antiRollbarForceCoef=2; // Sistema que reduz o risco de capotagem do veículo.
|
|
antiRollbarForceLimit=2;
|
|
antiRollbarSpeedMin=50;
|
|
antiRollbarSpeedMax=80;
|
|
accelAidForceYOffset=-2.5;
|
|
wheelCircumference=3.794; // Perímetro da circunferência da roda.
|
|
numberPhysicalWheels=6; // Número de rodas físicas do veículo.
|
|
class Wheels
|
|
{
|
|
class L1
|
|
{
|
|
boneName="wheel_1_1"; // Nome da roda.
|
|
steering=1; // Define se a roda esterça ou não.
|
|
side="left"; // Lado da roda em relação ao veículo.
|
|
center="wheel_1_1_axis"; // Ponto d ememória que define o centro da roda.
|
|
boundary="wheel_1_1_bound"; // Ponto de memória que define o limite exterior da roda.
|
|
width=0.42; // Largura do pneu em metros.
|
|
mass=100; // Massa de cada roda em Kg.
|
|
MOI=60; // 0.5*mass*(Raio_da_Roda)^2 --> Ver raio da roda no modelo
|
|
dampingRate=0.1;
|
|
dampingRateDamaged=1;
|
|
dampingRateDestroyed=1000;
|
|
maxBrakeTorque=45000; // Torque máximo do freio.
|
|
maxHandBrakeTorque=9000; // Torque máximo do freio de mão.
|
|
suspTravelDirection[]={-0.125,-1,0}; // Arranjo de vetores apontando a direção do curso da suspensão.
|
|
suspForceAppPointOffset="wheel_1_1_center"; // Ponto de aplique da suspensão.
|
|
tireForceAppPointOffset="wheel_1_1_center"; // Ponto de aplique da suspensão exceto para forças laterais e longitudinais que afetam o pneu.
|
|
maxCompression=0.1; // Compressão máxima da suspensão em metros.
|
|
maxDroop=0.15; // Extensão máxima da suspensão em metros.
|
|
sprungMass=2432; // Peso suportado pela roda. Dividir o peso total do veículo, (sem as rodas), pelo numero de rodas.
|
|
springStrength=87521.2; // sprungmass*(natural_freq)^2 --> natural_freq=~4 a 8
|
|
springDamperRate=7782.4; // "DampingRatio"*2*sqrt(springStrength*sprungMass) --> DampingRatio=~0.8 a 1,2
|
|
longitudinalStiffnessPerUnitGravity=10000;
|
|
latStiffX=25;
|
|
latStiffY=180;
|
|
frictionVsSlipGraph[]=
|
|
{
|
|
{0,1},
|
|
{0.5,1},
|
|
{1,1}
|
|
};
|
|
};
|
|
class L2: L1
|
|
{
|
|
boneName="wheel_1_2";
|
|
steering=1;
|
|
center="wheel_1_2_axis";
|
|
boundary="wheel_1_2_bound";
|
|
suspForceAppPointOffset="wheel_1_2_center";
|
|
tireForceAppPointOffset="wheel_1_2_center";
|
|
};
|
|
class L3: L1
|
|
{
|
|
boneName="wheel_1_3";
|
|
steering=0;
|
|
center="wheel_1_3_axis";
|
|
boundary="wheel_1_3_bound";
|
|
sprungMass=4864;
|
|
suspForceAppPointOffset="wheel_1_3_center";
|
|
tireForceAppPointOffset="wheel_1_3_center";
|
|
maxHandBrakeTorque=300000;
|
|
};
|
|
class R1: L1
|
|
{
|
|
boneName="wheel_2_1";
|
|
center="wheel_2_1_axis";
|
|
boundary="wheel_2_1_bound";
|
|
suspTravelDirection[]={0.125,-1,0};
|
|
suspForceAppPointOffset="wheel_2_1_center";
|
|
tireForceAppPointOffset="wheel_2_1_center";
|
|
steering=1;
|
|
side="right";
|
|
};
|
|
class R2: R1
|
|
{
|
|
boneName="wheel_2_2";
|
|
steering=1;
|
|
center="wheel_2_2_axis";
|
|
boundary="wheel_2_2_bound";
|
|
suspForceAppPointOffset="wheel_2_2_center";
|
|
tireForceAppPointOffset="wheel_2_2_center";
|
|
};
|
|
class R3: R1
|
|
{
|
|
boneName="wheel_2_3";
|
|
steering=0;
|
|
center="wheel_2_3_axis";
|
|
boundary="wheel_2_3_bound";
|
|
sprungMass=4864;
|
|
suspForceAppPointOffset="wheel_2_3_center";
|
|
tireForceAppPointOffset="wheel_2_3_center";
|
|
maxHandBrakeTorque=300000;
|
|
};
|
|
};
|
|
|
|
////////////////////////////////////////// Water Behavior
|
|
canFloat=1; // Pode boiar 1-sim 0-não. (Precisa de um LOD de buoyance)
|
|
maxFordingDepth=0.5; // Altura da água em que o motor pode sofrer dano.
|
|
waterangulardampingcoef=10; // Suaviza movimento do veículo na água, CUIDADO com valores muito altos.
|
|
waterLinearDampingCoefX=0.5; // Afeta o quanto desliza o veículo ao fazer curvas.
|
|
//waterLinearDampingCoefY=5.5; // Afeta a velocidade com que o veículo atravessa as ondas - valores mais altos fazem com que ele flutue mais sobre as ondas.
|
|
waterPPInVehicle=0; // Ativa/desativa o shader de água.
|
|
waterResistanceCoef=0.75; // Resistência do veículo ao "cortar" a água, quanto maior o valor, maior a resistência w afeta a aceleração e a velocidade máxima.
|
|
waterLeakiness=10; // Quantos litros de água entram no veículo quando destruído ou emborcado de cabeça pra baixo.
|