Jump to content
.Tom

Having trouble with this physx, again

Recommended Posts

So, i'm having problems with the physx of this vehicle. Going forwards or backwards is fine but when i turn the tank, regardless of if i'm accelerating or not, it accelerates a lot; and if I press A-D repeatedly the tank accelerates a lot more, Once i got it to 3200 km/h.

I suspect this has to do with the model of the tracks or a misplacement of memory points, but i have no idea

Video


Physx

simulation = "tankX";
dampersBumpCoef = 0.30000001;
terrainCoef = 0;
fuelCapacity = "650 * 0.165";
ACE_refuel_fuelCapacity = 650;
maxOmega = 251.33;
minOmega = 83.78;
enginePower = 530;
peakTorque = 2000;
engineMOI = 20;
idleRpm = 800;
redRpm = 2400;
clutchStrength = 50;
dampingRateFullThrottle = 0.25;
dampingRateZeroThrottleClutchEngaged = 8;
dampingRateZeroThrottleClutchDisengaged = 0.25;
maxSpeed = 75;
thrustDelay = 0.050000001;
brakeIdleSpeed = 2.8;
normalSpeedForwardCoef = 0.6;
slowSpeedForwardCoef = 0.1;
tankTurnForce = 150000;
tankTurnForceAngMinSpd = 0.75;
tankTurnForceAngSpd = 0.75;
accelAidForceCoef = 6;
accelAidForceYOffset = -2;
accelAidForceSpd = 10;
torqueCurve[]=
{
	
	{
		"(0/2500)",
		"(0/2350)"
	},
	
	{
		"(357/2500)",
		"(1900/2350)"
	},
	
	{
		"(714/2500)",
		"(2100/2350)"
	},
	
	{
		"(1071/2500)",
		"(2250/2350)"
	},
	
	{
		"(1428/2500)",
		"(2350/2350)"
	},
	
	{
		"(1785/2500)",
		"(2350/2350)"
	},
	
	{
		"(2142/2500)",
		"(1965/2350)"
	},
	
	{
		"(2500/2500)",
		"(0/2350)"
	}
};
waterPPInVehicle=0;
maxFordingDepth=-0.65;
waterResistance=0;
canFloat=0;
waterLeakiness=15;
antiRollbarForceCoef=50;
antiRollbarForceLimit=20;
antiRollbarSpeedMin=10;
antiRollbarSpeedMax=65;
class complexGearbox
{
	GearboxRatios[]=
	{
		"R1", -23,
		"N", 0,
		"D1", 50,
		"D2", 40.123,
		"D3", 28,
		"D4", 23,
		"D5", 18.6,
		"D6", 16.2,
		"D7", 13.91
	};
	TransmissionRatios[]=
	{
		"High",
		1
	};
	gearBoxMode="auto";
	moveOffGear=1;
	driveString="D";
	neutralString="N";
	reverseString="R";
};
changeGearType="rpmratio";
changeGearOmegaRatios[]=
{
	__EVAL(2400/2400)    , __EVAL(1000/2400),   // R1
	__EVAL(800/2400)     , 0,                   // N
	__EVAL(2350/2400)    , __EVAL(1900/2400),   // D1
	__EVAL(2350/2400)    , __EVAL(1900/2400),   // D2
	__EVAL(2100/2400)    , __EVAL(1900/2400),   // D3
	__EVAL(2200/2400)    , __EVAL(1900/2400),   // D4
	__EVAL(2200/2400)    , __EVAL(1900/2400),   // D5
	__EVAL(2200/2400)    , __EVAL(2000/2400),   // D6
	__EVAL(2350/2400)    , __EVAL(1900/2400)    // D7
	
};
switchTime=0;
latency=1.5;
engineLosses=25;
transmissionLosses=15;
driveOnComponent[]={};
wheelCircumference=2.2;
numberPhysicalWheels=16;
turnCoef=5;
class Wheels 
{
	class L2 
	{
		boneName = "wheel_podkoloL1";
		center   = "wheel_1_2_axis";
		boundary = "wheel_1_2_bound";
		steering=0;
		side="left";
		mass=150;
		width=0.51999998;
		MOI=14;
		latStiffX=2.5;
		latStiffY=50;
		longitudinalStiffnessPerUnitGravity=18000;
		maxBrakeTorque=37500;
		sprungMass=3125;
		springStrength=264063;
		springDamperRate=17236;
		dampingRate=260;
		dampingRateInAir=260;
		dampingRateDamaged=10;
		dampingRateDestroyed=10000;
		maxCompression=0.15000001;
		maxDroop=0.15000001;
		frictionVsSlipGraph[]=
		{
			{0,0.5},
			{0.34999999,1.2},
			{1,0.5}
		};
	};
	class L3: L2 {
		boneName = "wheel_podkolol2";
		center   = "wheel_1_3_axis";
		boundary = "wheel_1_3_bound";
	};
	class L4: L2 {
		boneName = "wheel_podkolol3";
		center   = "wheel_1_4_axis";
		boundary = "wheel_1_4_bound";
	};
	class L5: L2 {
		boneName = "wheel_podkolol4";
		center   = "wheel_1_5_axis";
		boundary = "wheel_1_5_bound";
	};
	class L6: L2 {
		boneName = "wheel_podkolol5";
		center   = "wheel_1_6_axis";
		boundary = "wheel_1_6_bound";
	};
	class L7: L2 {
		boneName = "wheel_podkolol6";
		center   = "wheel_1_7_axis";
		boundary = "wheel_1_7_bound";
	};
	// rear left wheel, usually Idler or Drive Sproket
	// Note, this wheel may not always be touching the ground, but we need it anyway!
	class L9: L2 {
		boneName = "wheel_podkolol9";
		center   = "wheel_1_9_axis";
		boundary = "wheel_1_9_bound";
		maxCompression = 0;
		maxDroop = 0;
		sprungMass=0;
	};
	// front left wheel, usually Idler or Drive Sproket
	// Note, this wheel may not always be touching the ground, but we need it anyway!
	class L1: L2 {
		boneName = "";
		center   = "wheel_1_1_axis";
		boundary = "wheel_1_1_bound";
		maxCompression = 0;
		maxDroop = 0;
		sprungMass=0;
	};

	class R2: L2 {
		boneName = "wheel_podkolop1";
		center   = "wheel_2_2_axis";
		boundary = "wheel_2_2_bound";
		side = "right";
	};
	class R3: R2 {
		boneName = "wheel_podkolop2";
		center   = "wheel_2_3_axis";
		boundary = "wheel_2_3_bound";
	};
	class R4: R2 {
		boneName = "wheel_podkolop3";
		center   = "wheel_2_4_axis";
		boundary = "wheel_2_4_bound";
	};
	class R5: R2 {
		boneName = "wheel_podkolop4";
		center   = "wheel_2_5_axis";
		boundary = "wheel_2_5_bound";
	};
	class R6: R2 {
		boneName = "wheel_podkolop5";
		center   = "wheel_2_6_axis";
		boundary = "wheel_2_6_bound";
	};
	class R7: R2 {
		boneName = "wheel_podkolop6";
		center   = "wheel_2_7_axis";
		boundary = "wheel_2_7_bound";
	};
	// rear right wheel, usually Idler or Drive Sproket
	// Note, this wheel may not always be touching the ground, but we need it anyway!
	class R9: R2 {
		boneName = "wheel_podkolop9";
		center   = "wheel_2_9_axis";
		boundary = "wheel_2_9_bound";
		maxCompression = 0;
		maxDroop = 0;
		sprungMass=0;
	};
	// front right wheel, usually Idler or Drive Sproket
	// Note, this wheel may not always be touching the ground, but we need it anyway!
	class R1: R2 {
		boneName = "";
		center   = "wheel_2_1_axis";
		boundary = "wheel_2_1_bound";
		maxCompression = 0;
		maxDroop = 0;
		sprungMass=0;
	};
};

 

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×