Jump to content

Recommended Posts

Anyway, if Arma had even half a flight model like that it'd be great.

It has... half the physics. That's why its wrong. You dont get far with a half of what it should be. How detailed you make it is up to your goal but you have to account for it no matter if super-sim or arcade, if you want behaviour that feels real.

Share this post


Link to post
Share on other sites
It has... half the physics. That's why its wrong. You dont get far with a half of what it should be. How detailed you make it is up to your goal but you have to account for it no matter if super-sim or arcade, if you want behaviour that feels real.

It feels like 1/3rd of a proper flight model, to be honest. It can get better though, with as you and Eric Mentioned, better goals of getting it to where it should be... Or at least decent. Hopefully better than decent. Also, something else that needs to change is hea movement in fast vehicles, or even vehicles in general. It's especially bad when pulling hard in jets, your head slides almost out of the glass, causing you to lose vision of the HUD.

Share this post


Link to post
Share on other sites

Has there anything been done about this yet?

I was also wondering about the flight model of the Wipeout and thought I might have missed a setting somewhere.

If a plane is banked at 45° it should fly a turn all by itself. In ARMA 3 it continues to go straight.

Also most planes are self stabilizing, so it should slowly return to a neutral position by itself (I know, fighters are different and by design a bit unstable, but look at the wing geometry of the wipeout - it definitely should).

Helicopters pretty much behave the same. When you stop applying steering input the helicopter simply keeps its attitude. Pretty strange. Now I know helicopters are less stable than planes, but I expect them to be somewhat self stabilizing (or they'd be barely controllable).

Hence planes and helicopters should return to a neutral attitude when steering input has ended (unless in some strange flight situation like bottom up).

Another thing I noticed about helicopters:

The translational climb doesn't work when you bank and turn the helicopter.

What happens is that you turn the helicopter "sideways" and it just bleeds off speed like crazy. I am not absolutely sure if helicopters behave that way, although I've never flown one myself yet - but I suspect it should climb nonetheless.

Edited by specialsymbol
better word

Share this post


Link to post
Share on other sites
So, hot it works

(Simplified version, do not crucify if i missed some parameter. Also I'm a programmer and I don't do configs)

All the forces are computed in model space (so they do rotate with airplane)

Lift

- force size is affected by flaps

- force size is affected by altitude

- force size is affected by groundEff

- force size is affected by envelope array (speed dependent)

- force size is affected angleOfIndicence

Thrust

- force size is affected by thrustCoef array (speed dependent)

- force size is affected by altitude

- force size is affected by rpm/thrust

- direction is forward (forward or up for vtol)

Ailerons

- torque size is affected by aileronSensitivity parameter

- torque size is affected by aileronCoef array (speed dependent)

- adds torque (roll)

Elevator

- torque size is affected by elevatorSensitivity parameter

- torque size is affected by elevatorCoef array (speed dependent)

- adds torque (pitch)

Rudder

- torque size is affected by elevatorSensitivity parameter

- torque size is affected by rudderCoef array (speed dependent)

- adds torque (yaw)

Draconic forces (there are forces keeping plane aligned with its speed direction)

- force size is affected by speed

- force size is affected by airplane speed and direction deviation

- force size is affected by draconicForceXCoef, draconicForceYCoef, draconicForceZCoef parameters

- adds forces keeping plane aligned with its speed direction

Draconic torque

- torque size is affected by speed

- torque size is affected by airplane speed and direction deviation

- torque size is affected by draconicForceYCoef, draconicTorqueYCoef parameters

- adds torque that will align plane so that it flies forward

Friction & Gravity

- also there (gravity in world space)

Why tilted airplane does not turn?

By default our airplanes don't clim up - our lift force is not very strong by default.

If you tilt your airplane, lift force is also tilted also so you should start turning, descending and in some cases, your nose should go up/down.

However, if draconic forces are strong enough, they will do the exact opposite and stabilize your airplane.

I'm not and aircraft engineer, so if we are missing some force or some speed based curve, please tell me, I will add it.

If you find better configuration for airplanes, please tell me.

Among the offtop, finally found the post which relates to the discussion :P

Disclaimer: I am not an aircraft engineer, however, I had a chance to work on aerodynamics of Rise of Flight simulator and have (unfortunately abandoned) physics education. So, I do have some experience to be able to discuss that area; whether to believe anything you read on the internet is as always on you :)

Looking at the above, I can say that there are 2 components that must not be there.

1."Draconic forces". There's no such thing in aerodynamics. All the (major) forces acting on an airframe can be divided into one of 4 categories:

- Lift

- Gravity

- Thrust

- Drag (subdivided into parasitic drag, induced drag and wave drag).

There's no force keeping the plane from changing its vector; rather, in statically stable aircraft there is a torque which keeps the orientation along the velocity vector, plus "damping" (rotational drag) which damps oscillations

2."Draconic torque". Generally, there is no torque returning the aircraft to flight direction vector. It is indeed the case for most aircraft, because they are explicitly designed that way (otherwise they would be not controllable), but it's not true in cases of:

- Intentionally statically unstable aircraft (F-16, Su-47)

- Unstable flight modes - stall/spin mode.

In general, that torque is described as Mza = f(AoA) (moment of force over Z axis as a function of angle of attack).

Rather than a specific force coefficients, flight model of it is most accurately described by following functions:

L(AoA) - Lift

D(AoA) - Drag

M(AoA)

All of these are coefficients - i.e. you need to multiply them by 0.5*rho*V^2 to get actual drag. Why V^2? Because the dynamic pressure of the "incoming" airflow (assuming aircraft is stationary - like in aerodynamic tunnel) is proportional to square of velocity times density.

So, basically to get a believable flight model (no need for total fidelity), we need to:

1.Get rid of "draconic forces"

2.Make sure the equations are followed (aerodynamic forces are quadratic to velocity)

3.Tweak the coefficients by trial-and-error

I'm not sure regarding p2. Perhaps Dr. Hladik can clarify - what is the actual formula for, say, computing lift?

P.S. And I finally got my hands on oukej's Wipeout test configuration, let's see how it goes...

---------- Post added at 16:21 ---------- Previous post was at 15:50 ----------

Here's a small video recorded in DCS World FC3, to illustrate the following idea: the direction in which the airframe flies is not necessarily same as where it is pointing.

Here, I pull the stick to end in a level flight (only pitch input, no roll) What happens next is:

1.The frame of the aircraft starts pitching up, which starts to produce more lift.

2.This starts to increase vertical airspeed (note: vertical airspeed is not increased instantly) - but the aircraft is still basically flying level

3.Meanwhile, due to high angle of attack elevators start to stall. This looks as if the plane is suddenly "jerked" back down

4.Due to high angle of attack, one of the wings stalls.

This is just to show how complex behavior can appear just out of few small formulas (parameters to which are tweaked a lot, however). And also to highlight one thing I personally miss the most - the feeling that the aircraft is a thing which flies and responds to inputs. With default ArmA 3's Wipeout, there's a feeling it behaves like a camera in plastiline - point it, and it stays in that direction.

Edited by DarkWanderer

Share this post


Link to post
Share on other sites

> what is the actual formula for, say, computing lift?

No formula. "force size is affected by envelope array (speed dependent)" means that you can configure the curve.

> Get rid of "draconic forces"

You (or Oukej) can try to set all coefficients to 0.

Share this post


Link to post
Share on other sites
> Get rid of "draconic forces"

You (or Oukej) can try to set all coefficients to 0.

If you set the X force to 0 then your plane will glide sideways forever, from what i remember when i tested the extreme settings (extreme high & extreme low drac force) Setting all to 0 and it's impossible to fly. Setting it extremely high and you fly like on rails. If you set all to 0 you can turn 180° and continue to fly in the old direction. Without VTOL you won't be able to even get off the ground. It's basically as if you are in space, just with gravity pulling you down, so you have to turn in the opposite direction you want to fly and use thrust to get the speed. And also angle yourself so you kill your speed in the old direction with the thruster.

draconic torque constantly tries to pull your plane to the ground. If you set it really high you have to pull back really hard to keep the plane level (at least that's what my plane did when i tested. Maybe with shift of center of mass it would pull the rear down instead, havent tested that)

That's why this plane simulation is weird/ wrong. Your controll surfaces act no matter how the travel direction is. They just apply a torque and that's it, that's why you can turn 360° without problem with draconic forces to 0. They are detatched from the magnitude and the direction of the actual speed vector. It's has nothing to do with actual flight dynamics, same as the draconic forces. And i think those two things are the main culprit that need replacement if the flight model was to be improved.

That's why i suggested this script command, so a prototype for a better flightmodel could be made and tested without source code modification. With draconic force&torque to 0, controll and lift to 0 you can "disable" the old flightmodel, bar gravity and thrust.

Remains the question if the forces made by the flightmodel are actually PhysX forces/torques or not.

@DarkWanderer

Do you think/ Can you think of some forces/torques that are missing in the concept i posted a while back?

Edited by Fennek

Share this post


Link to post
Share on other sites
@DarkWanderer

Do you think/ Can you think of some forces/torques that are missing in the concept i posted a while back?

Well, you mentioned almost all of the forces correctly; you just forgot to mention pitch and yaw rotational drag. They are also very important if one tries to build aircraft model with some fidelity.

But overall, with some corrections, it is pretty accurate - essentially same as I'm describing.

> what is the actual formula for, say, computing lift?

No formula. "force size is affected by envelope array (speed dependent)" means that you can configure the curve.

> Get rid of "draconic forces"

You (or Oukej) can try to set all coefficients to 0.

Hi Dr. Hladik,

First of all, please don't consider what I've written above a disruptive criticism or disparagement. I reckon the flight model is either fully or partially your creation; please understand I'm only trying to give constructive feedback to help improve things for everyone. TL;DR: please don't take it as an offence.

What I meant on the formula is more specific description of the function of lift as combination of mentioned factors (flaps position, altitude, ground effect, AoA (angle of attack), velocity).

You said above that you can configure a curve of lift w.r.t. to speed, but did not say anything about Lift/AoA curve. With that in mind, i'd imagine the formula to be something along the lines of:

Lift(velocity) = AoA * LiftCoeff(velocity) * (other coefficients);

Is it actually the case?

If it is, then unfortunately it won't be possible to achieve realistic behavior by tweaking parameters. Here is a picture giving a bit of an insight why:

aerofoil-lift-coefficient-i1.gif

Basically, lift of an aerofoil is a complex function which is linear at some AoA range, but has complex behavior at other points. Notably, at/near the stall AoA, lift stops following linear relation with AoA and drops rapidly.

In general, actual lift is proportional to V^2: L(V,AoA) = CL(AoA) * S * V^2.

Trying to reproduce this in ArmA, we can perhaps try to create a quadratic curve by configuring points appropriately; however, that won't give the lift force any relation to Angle of attack - which is important, as there would be no real stall. And without stall, the only way to limit angle of attack (lacking torque/AoA curve) would be to add an artificial "draconic torque"; which would reduce agility and require other artificial forces to compensate etc. etc... If I understand correctly, disabling "draconic forces" in that scenario will lead to the aircraft pitching up when above certain speed threshold and pitching down below it.

In other words, without some engine overhaul, we won't get far...

Share this post


Link to post
Share on other sites

The lift envelope you can define, defines the lift as dependency of the maximum airspeed, not as dependency of AOA unfortunately.

envelope defines lift produced by the shape of the plane according to current speed relative to maxSpeed

the first element of the array is for zero speed, the last for 125 % of maxSpeed, the rest in between is evenly distributed

there may be as many elements as you wish, using 13 should be preferred as it modulates the 10% increase with reasonable error

//	  0	10%	20%	30%	40%	50%	60%	70%	80%	90%	100%	110%	120%	130%		
envelope[]={0.0,	0.4 ,	1.9,	4.0,	6.8,	8.3,	8.5,	8.0,	7.2,	5.8,	4.0,	1.8,	0.5,	0};

you just forgot to mention pitch and yaw rotational drag [...] In other words, without some engine overhaul, we won't get far...

ahh thx. My words exactly.

Edited by Fennek

Share this post


Link to post
Share on other sites

I wonder of BI could take a code donation for the cause :)

Or perhaps just implement commands allowing us to set forces/torques to the airframe. That will allow to zero all of the coefficients and outsource calculations to an external C++ module.

Share this post


Link to post
Share on other sites

There are a variety of sources to obtain examples, code, and even an entire flight model, that's accurate in terms of the aspects you mentioned. JSBSim is a good example, it's open source, and a lot could be learned from it.

Share this post


Link to post
Share on other sites
JSBSim is a good example, it's open source

while it's open source, it's also very detailed from what i could tell when i glanced over the stuff. The problem with that is that you have too many "adjustement screws" and without extensive realworld data you wont get very far. With a simple model like i described you can get away with less detailed informations, so trial and error adjustement is still viable. Some general Realworld data would still be required of course, but far less then for JSB. Also, you have to remember that this is for detailed flightsimulation. Not for a big multiplayer game where there are dozens of other simulations (vehicles, bullets, etc) in addition to the planes that fly around.

I'm still a student, so i could do some limited windtunnel simulations (CFD) for some half-decent data, IF BI really gets some manpower on this in the very near future. My university time is coming to an end...

[quote name= DarkWanderer

]Or perhaps just implement commands allowing us to set forces/torques to the airframe. That will allow to zero all of the coefficients and outsource calculations to an external C++ module.

If they can implement the Force/Torque scriptcommand that wouldnt be necessary, as it could be done natively in sqf. You can already disable the standard flightmodel right now. I guess with extensions, external modules would be possible as well with the command, but my scripting is not that advanced.

Share this post


Link to post
Share on other sites
There are a variety of sources to obtain examples, code, and even an entire flight model, that's accurate in terms of the aspects you mentioned. JSBSim is a good example, it's open source, and a lot could be learned from it.

Indeed there are, problem is - how to get any of them into game...

Edited by DarkWanderer

Share this post


Link to post
Share on other sites
Indeed there are, problem is - how to get any of them into game...

If I had tried to understand coding more a few years ago I probably would have some idea. But otherwise the best place to start, is a mod...

Share this post


Link to post
Share on other sites
If I had tried to understand coding more a few years ago I probably would have some idea. But otherwise the best place to start, is a mod...

Modding is exactly what is useless right now - see posts above.

Edited by DarkWanderer

Share this post


Link to post
Share on other sites
Modding is exactly what is useless right now - see posts above.

Only for demonstration purposes, not for actual use. Yeah, I know. I've avoided using fixed wing craft for a long time because it doesn't feel right.

Share this post


Link to post
Share on other sites

As implied by the above posts, pretty much only Bohemia if anyone* has deep enough access to the engine to make deeper-than-surface/mod changes, and it'd pretty much only happen if project leadership wants it to -- otherwise, someone who wanted to work for Bohemia just to implement it would just get tasked with the project leadership's own priorities instead -- which there's been no sign of (or if there is any such intent, it's seemingly well behind the Expansion in priority).

* Rumors abound as to how deep their own access to the engine actually goes.

Share this post


Link to post
Share on other sites

Can you guys please bring back Auto-Rudder until the Flight Model get's fixed? I literally can't take it anymore. Even the Arma 2 flight model feels better. Also, is it possible to mod in a complete new flight model?

Share this post


Link to post
Share on other sites

Also, is it possible to mod in a complete new flight model?

You can disable it but you can't plug anything in it's place due to lack of scripting force&torque commands

Share this post


Link to post
Share on other sites

I just came to think of this thread when seeing a new fixed wing (small prop) being showed in the new expansion trailer.

Surely BIS wont release another fixed wing without having another look at this issue in this thread...

 

Bate out....

Share this post


Link to post
Share on other sites

 

Surely BIS wont release another fixed wing without having another look at this issue in this thread...

I'm pretty sure they have read everything already. Doing something about it requires ressources. We'll see if they spend some on the flightmodel. I certainly would be really happy about that. I doubt that this is what they are doing though.

VTOL functionality is already there from arma 2 - so it's not like they are forced to improve it in any shape or form.

  • Like 1

Share this post


Link to post
Share on other sites

Never understood why BIS made TKOH a stand-alone game, I'm sure they would have made a lot more revenue pitching it as a paid expansion to A2OA.

 

Similarly I think both a fixed-wing DLC and tank-combat DLC for A3 could fund themselves because a lot of the installed-base will want the full-fidelity A3 suite whether they're particularly interested in those areas or not.

  • Like 4

Share this post


Link to post
Share on other sites

Never understood why BIS made TKOH a stand-alone game, I'm sure they would have made a lot more revenue pitching it as a paid expansion to A2OA.

 

Similarly I think both a fixed-wing DLC and tank-combat DLC for A3 could fund themselves because a lot of the installed-base will want the full-fidelity A3 suite whether they're particularly interested in those areas or not.

Except that when you consider the addition of new Fixed wing, two, the same amount in the heli DLC, with no real improvements, you could see why that will never happen. The most they did was remove auto rudder, which quite frankly made the aircraft perform a bit less effectively. And sure, you could say that removing it was a step in the right direction, but not when the basics aren't there. As it stands? The flight model is pretty much on par with BF4, except not as extreme. It's just not good. Now, when you say that it's good enough, just remember that there are no real functioning sights and HUD elements like there is in tanks or APC's. You can't put down rockets, or even cannon fire effectively. Bombs neither unless your team mates have a spot painted, but aside from that, I've got to the point where I simply don't touch fixed wings unless I'm stunt flying because it usually induces me to Alt+F4 when I am at a target and all my rockets go somewhere else, especially in high risk online situations.

Share this post


Link to post
Share on other sites

Planes never fly backwards in real life, those what you see is "pugachev's cobra" that makes a huge difference on AoA (flight direction, nearly 100 degrees) to where your nose are pointing that requires thrust vectoring and good plane design for controllability.

 

17C6479061796F0782DDC5F8362428AF31B19817

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

×