Forget about real world and DCS, this is bf2 shit

Instead of theory make minimal valuable product(le ingame\in bfeditor)by playing with values that will make choppers great again.
Problem with bf2 engine is that you have no air, only thing that make you fall is gravity. Rest of helicoter behavior is rotor rotate(that's how it control chopper, instead of
swashplate its simply turning rotor itself) and engine torque.
PR helicopters has additional "wings" through. In bf2 world wings are nothing but to prevent moving against air, that's why jets flying(cuz "wings" prevent plane to change direction a lot). On a PR helicopters they're used to disallow turning on high speed, and to "try" fix diving tactic(althogh caswhores still good in it despite all the efforts made by noob devs

)
Parameters in .tweak file you should be interested in:
That's "air resistance" against helicopter mesh in air
Modifiers of inertia for diffirent directions, x for yaw, y for height, z for roll
Code: Select all
ObjectTemplate.dragModifier float/float/float
Speaks for itself but doesn't represent actual mass ingame
That's what you have to consider for adding "weight" to physics model
Code: Select all
ObjectTemplate.gravityModifier 2.0
And modifiers for inertia
Code: Select all
ObjectTemplate.inertiaModifier 0.4/0.4/0.2
For next examples i'll take us_the_uh1n huey.
That's your rotors(RotorHead), you have to look at its params
Code: Select all
ObjectTemplate.create RotationalBundle us_the_uh1n_RotorHead1
Your max rotations for pitch and roll of parent rotor.
Code: Select all
ObjectTemplate.setMinRotation 0/-5/-2
ObjectTemplate.setMaxRotation 0/5/2
Rotor will turn to it's max&min rotations with this speed.
Code: Select all
ObjectTemplate.setMaxSpeed 0/50/50
And it's acceleration to max speed.
Code: Select all
ObjectTemplate.setAcceleration 0/-1000/1000
Inputs that will affect parent rotor rotation.
Code: Select all
ObjectTemplate.setInputToPitch PIPitch
ObjectTemplate.setInputToRoll PIRoll
Reset rotation if no input.
Code: Select all
ObjectTemplate.setAutomaticReset 1
Additionally, our parent rotor has child rotor.
It's 20 bf meters high than our parent rotor through
Code: Select all
ObjectTemplate.addTemplate us_the_uh1n_RotorHead2
ObjectTemplate.setPosition 0/20/0
And it's 2nd rotor has our engine
Whish is 86m under child rotor, which give us true engine position of -66m under heli
Code: Select all
ObjectTemplate.addTemplate us_the_uh1n_Rotor
ObjectTemplate.setRotation 0/-86/0
Note those values. They're displaying not rotation, but rather "power" values from 0% to 100%.
Code: Select all
ObjectTemplate.setMinRotation 0/0/-20
ObjectTemplate.setMaxRotation 0/0/900
Speed with which "power" will increase.
Acceleration to "max speed".
Code: Select all
ObjectTemplate.setAcceleration 0/0/13
Which input affect engine, PItrolle is W and S by default f.e.
Code: Select all
ObjectTemplate.setInputToRoll PIThrottle
That's your "power" of engine.
Have low idea what those means for heli, when played barely got any effect.
Code: Select all
ObjectTemplate.setDifferential 180
ObjectTemplate.setGearUp 0.99
ObjectTemplate.setGearDown 0.01
ObjectTemplate.setGearChangeTime 0.1
ObjectTemplate.setGearRatios 3.5 2.2 1.5 1.1 0.94
That's indeed gives some boost for horizontal speed, but it's barely relevant to altitude drop when flying fast.
Code: Select all
ObjectTemplate.horizontalSpeedMagnifier 3.1
Some values for hover stabilization.
Code: Select all
ObjectTemplate.horizontalDampAngle 0.1
ObjectTemplate.horizontalDampAngleFactor 0.001
ObjectTemplate.defaultAngleOfAttack 2
ObjectTemplate.decreaseAngleToZeroVerticalVel 0.5
ObjectTemplate.dampHorizontalVel 5
ObjectTemplate.dampHorizontalVelFactor -0.5
That's values you're looking for probably.
Code: Select all
ObjectTemplate.maxAngleOfAttack 12
ObjectTemplate.attackSpeed 10
When max angle of attack exceeded, helicopter will not increase speed anymore.
Attack speed is something you have to play with, i have not understood effect of this fully.
Code: Select all
ObjectTemplate.create Wing us_the_uh1n_Rudder
ObjectTemplate.modifiedByUser K4on
ObjectTemplate.createdInEditor 1
ObjectTemplate.floaterMod 0
ObjectTemplate.hasMobilePhysics 0
rem -------------------------------------
ObjectTemplate.addTemplate S_us_the_uh1n_Rudder_RotationRpm
rem -------------------------------------
ObjectTemplate.setPositionOffset 0/0/0
ObjectTemplate.setWingLift 4
ObjectTemplate.setFlapLift 0
Additionally huey use wings for some stabs effects of whatsoever, but they give less impact on helicopter on low speed, for understanding what they're affect you have to take a look on wings postion, rotation, and lift values.