Jump to content
Sign in to follow this  
kuIoodporny

Arma 3 tanks config guidelines

Recommended Posts

It's funny that we talk about armor penetration, when in game it's still all about amount of hits and this f***** "health bar" that just players don't see. So please stop talking bullshit about RHA and other shit, when it has nothing to do with game, and you can still destroy tank with grenade launcher and other shit 30mm-like cannons..

And suddenly the metaphors involved small children become incredibly apt...

Share this post


Link to post
Share on other sites

Ye, few yers is not enough for bis to make any difference between hitting tank in front and side/back. Ace team made it with only scripts, without engine modification, what was almost impossible.

For BiS programmers, that can change engine code and make everything with it, it's just too hard. Yeah, beautiful clouds, fog and rain is more important.... What are you doing Bis programmers??

Maybe Bis don't have programers, so they don't know how to make changes other than graphics!??

Share this post


Link to post
Share on other sites
Ye, few yers is not enough for bis to make any difference between hitting tank in front and side/back. Ace team made it with only scripts, without engine modification, what was almost impossible.

For BiS programmers, that can change engine code and make everything with it, it's just too hard. Yeah, beautiful clouds, fog and rain is more important.... What are you doing Bis programmers??

Maybe Bis don't have programers, so they don't know how to make changes other than graphics!??

First of all, you obviously don't know what a programmer is. If you even look at the wiki article's pictures for a second, you'll realize that the armour is modelled. Secondly, you should probably go in game and actually shoot a tank in the back a few times. It is very possible to set it up to take different amounts of damage on certain sides within the current systems. In fact, I just finished doing that.

But obviously you don't let logic get in your way.

Share this post


Link to post
Share on other sites

Thanks to zGuba I could get the dampers to work now, so now all PhysX things are working.

For others having similar problems, make sure to set "boneName" in the wheel config to the name of the animation of the damper of that wheel.

Share this post


Link to post
Share on other sites

@Roni,

Take the rant elsewhere please, this is a tut.

@Mods

I suggest the right audience is in the Editing section of the forums.

Share this post


Link to post
Share on other sites

Why do non-penetrating bullets and autocannon rounds have the ability to blow up a tank? Why do we even have a penetrate system if it this is the case?

Share this post


Link to post
Share on other sites

We don't have minimalHit and explosionShielding params support on main vehicle class. Not like I wouldn't like it to be done, it's just not there and programmers have more important tasks f.e. performance.

Share this post


Link to post
Share on other sites

is it possible to have an amphibious vehical with the tankX simulation? I worked on an amphibious tracked vehicles for 2 weeks and could not manage to get it to move in the water, it only seemed to work when i used carX and shipX simulation which broke land operation obviously because of being set up for tracks.

Share this post


Link to post
Share on other sites
As for the front armor stopping sabot, I think that point blank shots <1000m should penetrate, for reasons of both gameplay and realism. I think just about anyone you ask will agree with me.

No, just no. :)

Think through the physics again. There's isn't some magical infinity of energy created at the muzzle. You can roll the gun right up to the armor if you like, it still won't penetrate if it doesn't have the ballistics to pull it off. I'm sure you already know this and had a brain fart as we all do.:o

Share this post


Link to post
Share on other sites
Looking at the PhysX LODs, no way to "soft" the tracks\suspension? Do this ingame and you will know what I'm talking about:

http://t.imgbox.com/abww6wKj.jpg http://t.imgbox.com/abm849gd.jpg

Got a question about this. I'm asuming the land contact points are tied to the wheels.

Would it work adding 5 'fake wheels' with their own land contacts on each side? Or would it be too many wheels?

Or could vertex weighting somehow make the nearest contact point also lift a little?

Share this post


Link to post
Share on other sites

Unfortunately not. There is hard limit of 18 or 20 wheels per vehicle, I don't remember exact number.

Share this post


Link to post
Share on other sites

Can traction/friction settings for wheels be altered inedependantly ?

If so, where are these defined (which A3 pbo?) so we can reference / rewrite them for our own vehicles?

Because it seems tanks don't have enough friction per wheel - their track should give them tons of traction, but as physx only models wheels it is a fraction of that. The problem this causes is, that tanks can get stuck if only 2 a couple of their wheels have ground contact (e.g. front an rear pairs, sitting in a ditch) the wheels only spin and that's it. They also have no climbing ability either.

Is there another setting that could help there as well?

Share this post


Link to post
Share on other sites

I think there's little we can do with friction, but I'll double check that.

Share this post


Link to post
Share on other sites
We don't have minimalHit and explosionShielding params support on main vehicle class. Not like I wouldn't like it to be done, it's just not there and programmers have more important tasks f.e. performance.

And there's no workarounds? Is it easy to accomplish at some future point?

Because honestly, there's no real point in having a penetration system with hitpoint components for vehicles if I don't actually need an anti-tank weapon to destroy tanks, and don't actually need to penetrate armor to blow up things inside it.

Share this post


Link to post
Share on other sites
And there's no workarounds? Is it easy to accomplish at some future point?

Because honestly, there's no real point in having a penetration system with hitpoint components for vehicles if I don't actually need an anti-tank weapon to destroy tanks, and don't actually need to penetrate armor to blow up things inside it.

Not much here can be done. At least not soon.

Share this post


Link to post
Share on other sites

Thanks for clarifying.

The fact that this engine has been around for so long without the ability to apply multipliers to damage based on the class of target struck (ie, sabot harming humans a ton but doing .00001% to buildings, tires being resistant to rocks but not bullets) makes me want to slam my head against a wall.

Share this post


Link to post
Share on other sites
The fact that this engine has been around for so long without the ability to apply multipliers to damage based on the class of target struck (ie, sabot harming humans a ton but doing .00001% to buildings, tires being resistant to rocks but not bullets) makes me want to slam my head against a wall.

There seems to be some kind of workaround. Look here

But it seems to require a total rebalance of everything (missiles, mines etc)

Share this post


Link to post
Share on other sites

My Tank is stuck in first gear forward and reverse gear, and no matter what i change in the settings it doesn't do anything.

Additionally if i drive off a hill it can slide sidewards down the hill, if i hit gas and try to drive 90° to the hill

this is my config

/// PhysX part
simulation	= tankX;
enginePower	= 522;
maxOmega 	= 471;
peakTorque	= 1850;

//  real 
torqueCurve[] = {
{0 , 0},
{0.14 , 0.62},
{0.29 , 0.85},
{0.43 , 1},
{0.57 , 0.94},
{0.71 , 0.73},
{0.86 , 0.49},
{1 , 0.21}
};

thrustDelay			= 0.05;    	
fuelCapacity 		= 10;
fuelConsumptionRate = 500;  
brakeIdleSpeed		= 1.5; 	

tankTurnForce		= 500000; /// Random magic number, expected to be something like 11 x mass of vehicle

/// Gearbox and transmission
idleRpm = 800; // RPM at which the engine idles.
redRpm = 4500; // RPM at which the engine redlines.

engineLosses = 25; 
transmissionLosses = 15; 
transmissionDelay  = 0.1;
dampingRateFullThrottle = 0.02;
dampingRateZeroThrottleClutchEngaged = 0.35;
dampingRateZeroThrottleClutchDisengaged = 0.35;	

class complexGearbox {
//real configuration
GearboxRatios[]    = {"R2",-10.2,"N",0,"D1",15.4,"D2",10.2,"D3",7.1,"D4",4.85,"D5",3.16,"D6",2.11,"D7",1.61,"D8",0.98};
//test configuration
TransmissionRatios[] = {"High",8};
gearBoxMode        = "auto";
moveOffGear        = 1;
driveString        = "D";
neutralString      = "N";
reverseString      = "R"; 
};

//real configuration
changeGearMinEffectivity[]   = {0.95, 0.15, 0.95, 0.95, 0.95, 0.95, 0.95, 0.95, 0.95, 0.95};

latency 			= 1.0;
switchTime = 0.1;
/*gearUpMaxCoef = 0.9;
gearDownMaxCoef = 0.75;
gearUpMinCoef = 0.5;
gearDownMinCoef = 0.5;
*/
///I'm not sure what these do, not explained in the WIki but i found them somewhere (not sure where though)

/// end of gearbox

class Wheels {
class L2 {
	boneName = "Wheel_TL2";
	center   = "Whl_1_2_ax";
	boundary = "Whl_1_2_bd";
	damping  = 0.5;
	steering = false;
	side = "left";
	weight = 100;
	mass = 100;
	MOI = 50;
	latStiffX = 25;
	latStiffY = 180;
	longitudinalStiffnessPerUnitGravity = 100000;
	maxBrakeTorque = 10000;
	sprungMass = 1000.0;
	springStrength = 37500;
	springDamperRate = 7500;
	dampingRate = 1.0;
	dampingRateInAir = 200.0;
	dampingRateDamaged = 10.0;
	dampingRateDestroyed = 100.0;
	maxDroop = 0.05;
	maxCompression = 0.05;
};
class L3: L2 {boneName = "Wheel_TL3";center   = "Whl_1_3_ax";boundary = "Whl_1_3_bd";};
class L4: L2 {boneName = "Wheel_TL4";center   = "Whl_1_4_ax";boundary = "Whl_1_4_bd";};
class L5: L2 {boneName = "Wheel_TL5";center   = "Whl_1_5_ax";boundary = "Whl_1_5_bd";};
class L6: L2 {boneName = "Wheel_TL6";center   = "Whl_1_6_ax";boundary = "Whl_1_6_bd";};
class L7: L2 {boneName = "Wheel_TL7";center   = "Whl_1_7_ax";boundary = "Whl_1_7_bd";};


class R2: L2 {boneName = "Wheel_TR2"; center   = "Whl_2_2_ax"; boundary = "Whl_2_2_bd"; side = "right"; };
class R3: R2 {boneName = "Wheel_TR3"; center   = "Whl_2_3_ax"; boundary = "Whl_2_3_bd";};
class R4: R2 {boneName = "Wheel_TR4"; center   = "Whl_2_4_ax"; boundary = "Whl_2_4_bd";};
class R5: R2 {boneName = "Wheel_TR5"; center   = "Whl_2_5_ax"; boundary = "Whl_2_5_bd";};
class R6: R2 {boneName = "Wheel_TR6"; center   = "Whl_2_6_ax"; boundary = "Whl_2_6_bd";};
class R7: R2 {boneName = "Wheel_TR7"; center   = "Whl_2_7_ax"; boundary = "Whl_2_7_bd";};

// rear left wheel, usually Idler or Drive Sproket

class L1: L2 {	///front wheel
	boneName = "Wheel_TL1";
	center   = "Whl_1_1_ax";
	boundary = "Whl_1_1_bd";
	sprungMass = 100.0;
	springStrength = 37500;
	springDamperRate = 7500;
	maxDroop = 0;
	maxCompression = 0;
};

class L8: L2 {	///rear sprocket wheel
	boneName = "Wheel_TL8";
	center   = "Whl_1_8_ax";
	boundary = "Whl_1_8_bd";
	sprungMass = 100.0;
	springStrength = 37500;
	springDamperRate = 7500;
	maxDroop = 0;
	maxCompression = 0;
};

// rear right wheel, usually Idler or Drive Sproket
// Note, this wheel may not always be touching the ground, but we need it anyway!

class R1: L1 {	///front wheel
	boneName = "Wheel_TR1";
	center   = "Whl_2_1_ax";
	boundary = "Whl_2_1_bd";
	side = "right";
};

class R8: L8 {	///rear sprocket wheel
	boneName = "Wheel_TR8";
	center   = "Whl_2_8_ax";
	boundary = "Whl_2_8_bd";
	side = "right";
};
};
/// End of PhysX

Edited by Fennek

Share this post


Link to post
Share on other sites

try {"R1",-3.231,"N",0,"D1",2.462,"D2",1.870,"D3",1.241,"D4",0.970,"D5",0.711};

and transratio no higher than 5.35

short explanation on gearing ratios, gearbox ratios are dividing engine RPM into usable RPM by REDUCTION. few transmissions(gearboxes) will reduce more than 4:1 in its lowest gear nor "overdrive" more than .60

the "transmissionratio" or differential ratio overcomes the vehicles weight and tire circumference<witch multiplies prior ratios. small passenger cars run a high ratio for fuel economy like 2.78:1-3.43:1,

light trucks 3.73:1-3.78, medium duty commercial start at 4.11 and so on depending on their intended task. as you can see small differences in diff ratios make a huge impact on driveability. most trucks run identical gearbox ratios and only diff ratios change between them

Share this post


Link to post
Share on other sites

Do i have to set wheel circumference for a tank? If so, what is the boundary memory point is for, as the distance between axle and boundary point both should automatically determine it?

i haven't seen it in the sample tank config either.

try {"R1",-3.231,"N",0,"D1",2.462,"D2",1.870,"D3",1.241,"D4",0.970,"D5",0.711};

and transratio no higher than 5.35

short explanation on gearing ratios, gearbox ratios are dividing engine RPM into usable RPM by REDUCTION. few transmissions(gearboxes) will reduce more than 4:1 in its lowest gear nor "overdrive" more than .60

the "transmissionratio" or differential ratio overcomes the vehicles weight and tire circumference<witch multiplies prior ratios. small passenger cars run a high ratio for fuel economy like 2.78:1-3.43:1,

light trucks 3.73:1-3.78, medium duty commercial start at 4.11 and so on depending on their intended task. as you can see small differences in diff ratios make a huge impact on driveability. most trucks run identical gearbox ratios and only diff ratios change between them

Yes but this is not a truck, it's a tank, with a petrol engine (so comparably high rpm). My tank weights 60tons and only has ~700HP . My aimed vehicle characteristics are similar to a WW2 tiger in that regard, and the engine data and transmission ratios i used are from the Tiger I. This was my source (middle of page). I don't need to be anal about the values, it's a fictional vehicle i'm modelling after all. I just want to achieve a similar behaviour. I used RedPhoenix's guide, and used the gearbox calculator to set bevel gear to achieve believable speeds (40kph max)

Maybe i misread something from the source though, english isnt my native language, tech read is difficult.

Your values don't help however. The tank only switches to first forward&reverse gear like before and continues to slowly accelerate (because of lack of torque) until it reaches top speed (now higher because less reduction) in first gear. I doubt the gear ratios are the problem. More the other stuff that goes with it.

Edit: Vanilla Leopard 2 has TransmissionRatio= 9

Edited by Fennek

Share this post


Link to post
Share on other sites

leopards only have four forward gears and rather tall ratios requiring a ridiculous trans ratio, just diagnosed and tested another config with the same issue as yours, try using your gearbox ratios with a much lower trans ratio. trans ratios make a massive difference

Share this post


Link to post
Share on other sites

If i lower the transmission ratio i have to increase either engine torque or the gear ratios. Neither makes a difference, i tried. And if BIS uses higher ratios then 8 ( in Sample Tank its 15) then there is nothing wrong with using high values. I didnt just pull the ratios out from thin air after all.

Share this post


Link to post
Share on other sites
If i lower the transmission ratio i have to increase either engine torque or the gear ratios. Neither makes a difference, i tried. And if BIS uses higher ratios then 8 ( in Sample Tank its 15) then there is nothing wrong with using high values. I didnt just pull the ratios out from thin air after all.

not saying theres anything wrong with high values, your engine parameters are fairly powerful and shouldn't require a ton of gearing. maybe try a closer ratio for second gear? I know the engine doesn't play well with steep torque curves so maybe its too much step in between gears

Share this post


Link to post
Share on other sites

Just created a config somewhat like yours that created a similar issue. "changeGearMinEffectivity" is holding it in gear due to the drastic change in ratio. reducing each value and testing until it shifts should correct it.

my issue was as follows

GearboxRatios[] = {"R1",-5.67,"N",0,"D1",8.05,"D2",3.58,"D3",2.09,"D4",1.39,"D5",1};

changeGearMinEffectivity[] = {0.95, 0.15, 0.95, 0.95, 0.95, 0.95, 0.95, 0.95, 0.95, 0.95};

condition was vehicle tachs out in first gear no shift, vehicle unwilling or random shift on decline

config change=changeGearMinEffectivity[] = {0.95,0.15,0.65,0.78,0.5,0.75,0.75,0.65};

vehicle now shifts appropriately through gears

Share this post


Link to post
Share on other sites

Haven't been able to solve it. I tried alot of different effectivity settings but no luck. This is completely frustrating :mad: There is no way to tell what is going on/ why it's not working and i'm not spending yet another week trial and erroring around >.<

____

unrelated question:

Is it problematic if 2 physx wheels overlap ? Can they influence each other?

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
Sign in to follow this  

×