• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

Wing Damage

TurboCompound

Resource contributor
Messages
190
I've noticed that when I make the occasional mistake and crash into the ground, sometimes I hit wingtip first. When this happens, there is a scraping noise, and the plane rolls over before the simulation ends. I decided to perform a test. I entered slew mode as soon as I heard the scrape, brought my plane to a higher altitude, and attempted to fly. The plane spiraled out of control, acting as if it had lost that wing. I tested it with an FS9 portover with visual damage enabled, and noticed that the wing physically broke off. Finally, I discovered that it is possible to fail a wing on command in a mission (though no visual damage occurs in this case). What I was wondering is if there was a way to check the state of the wing, either through FSUIPC, Simconnect, or even XML. Is it possible?
 
Ok, presumably you are working with virtual airplanes, because you mention FS9 and very few real airplanes that we have access to offer an effective slew mode. Beyond that, your situation is somewhat of a mystery. By the same logic one could assume you are not working with FS9 - A Century of Flight; but to extend that assumption to a version of FSX or ultimately P3D and start dispensing advice, would be little more than an excuse to type.
Just one question, please: FS9 has the ability to render visual damage, granted; FSX and P3D do not. How could you possibly arrive at a condition with a broken off wing, if you are not using FS9?
 
Let me clarify things:

-This refers to FSX
-FSX does have the ability to render visual damage, but only with aircraft to ground collisions when it is an FS9 model with visual damage enabled
-I can tell that the wing has failed because:
  • On an FSX native aircraft, when the wing contacts the ground there is a corresponding sound and the aircraft rolls in the direction of that wing
  • On an FS9 portover, when the wing contacts the ground it appears to break off in addition to the above
  • When you slew the aircraft up after this, the aircraft enters an uncontrollable spiral whether or not the wing visually disappears
  • The same spiral occurs when a wing failure is triggered through a mission

 
Well, there's no simvar for partial structural failures. At least none that is documented.

I can very well imagine that the model reader used by FSX "unlearned" detaching parts just like it unlearned FS9's rain system.
 
Have a look around the net for info on "cfs2 breaking parts" these worked in fs9 also there were corresponding damage textures....(don't worry about the DP info as this was CF# specific to model bullet hits ect
http://www.cfgse.calebflerk.com/BreakingParts_MDL.htm
Due to the new mdl format and texture assignments in fsx they have prob been removed, then again as fs9 portovers still work the basic code must still be there.
 
Well, there's no simvar for partial structural failures. At least none that is documented.
This means that developers, desperate to provide an edge over their competitors, have been unable to document a variable that triggers partial structural failures. If one or more of these developers has discovered this variable, he is not even advertising his unique ability to provide a visual representation of structural damage.
Based on that there would be no way to check the state of the wing to answer the original question. The .mdl file is only geometric, if it is modeled to have parts fall off in FS9 or CFS, that process has absolutely no affect on the air file or the aircraft.cfg which is where all the basic data; aerodynamic, weight, power, etc is stored.

I have done similar tests to those performed by TurboCompound and have not had results that appear to be a lost wing.
-FSX does have the ability to render visual damage, but only with aircraft to ground collisions when it is an FS9 model with visual damage enabled
This is simply not true. There are addons available that attempts to represent visual damage, one of them is called "FSX Aircraft Inspection Mod." Perhaps TurboCompound is using one of those as it would be the only way to accomplish what is described. It is rumored that Microsoft removed crash damage as a concession to real world aircraft manufacturers like Bell, Robinson and Maule in consideration for their products being represented in a simulator and that rumor carries much more weight than a lone claim that crash damage is indeed represented.
 
  • On an FSX native aircraft, when the wing contacts the ground there is a corresponding sound and the aircraft rolls in the direction of that wing
  • On an FS9 portover, when the wing contacts the ground it appears to break off in addition to the above
  • When you slew the aircraft up after this, the aircraft enters an uncontrollable spiral whether or not the wing visually disappears
  • The same spiral occurs when a wing failure is triggered through a mission

Wingtips are, or at least should be equipped with scrape points in the [contact_points] section of the aircraft.cfg. Scrape points possess a link to a sound file that is played whenever one contacts the ground and it will trigger damage to the associated "part" above a certain vertical speed.

I don't know what exactly happens visually in FS9 but I still think that the FSX model parser ditched the feature and therefor, you won't see parts breaking off.

Flight dynamics-wise, since MSFS knows the relative position of a scrape point from the aircraft's datum reference point, it may apply a permanent, additional moment in that axis after incurring damage. Hence your observation of a roll.

This is based on your observations, the documentation on contact points and counting 1+1 together. You'd definitely have to do your own further investigation though.
https://msdn.microsoft.com/en-us/library/cc526949.aspx#mozTocId836373


The FS9 SDK mentiones damage textures at various points (GMax Aircraft Creation, GMax Materials, MakeMDL) as well as compiler flags used to include or exclude said textures.
The MakeMDL documentation has a table of parts eligible for damage textures on page 13. It basically says that parts of the model that are named as stated in the table will switch to the damage texture if it impacts the ground.
It might be that, when no damage texture is present at all and the "ignore damage texture" flag has not been set during compilatiuon with MakeMDL, the part will simply become invisible instead of displaying the damage texture.
You can very well prove me right or wrong by creating a flashy version of the regular texture, give it an eligible name (see documentation previously mentioned) for a damage texture and crash the plane into the ground. If the texture switches, I was right, if not there's more to the matter than the FS9 SDK discloses.

By the way: The visual_damage flag is still documented for aircraft.cfg files in FSX/ESP, but the modeling-related part of the SDK makes no mention of any damage capability whatsoever. Therefor, the flag is basically dead weight for native aircraft.



This means that developers, desperate to provide an edge over their competitors, have been unable to document a variable that triggers partial structural failures. If one or more of these developers has discovered this variable, he is not even advertising his unique ability to provide a visual representation of structural damage.

The documentation I was referring to is the official one included in the SDK. See here:
https://msdn.microsoft.com/en-us/library/cc526981.aspx

Also, try to come up with a single FSX native aircraft that features visual damage. I can't name one.

An actual visual damage feature wouldn't stay much of a secret for long to boot because curiosity not only kills cats but also makes for great reverse engineering.

Based on that there would be no way to check the state of the wing to answer the original question. The .mdl file is only geometric, if it is modeled to have parts fall off in FS9 or CFS, that process has absolutely no affect on the air file or the aircraft.cfg which is where all the basic data; aerodynamic, weight, power, etc is stored.

I have done similar tests to those performed by TurboCompound and have not had results that appear to be a lost wing.

No additional moments in the direction of an axis?

This is simply not true. There are addons available that attempts to represent visual damage, one of them is called "FSX Aircraft Inspection Mod." Perhaps TurboCompound is using one of those as it would be the only way to accomplish what is described. It is rumored that Microsoft removed crash damage as a concession to real world aircraft manufacturers like Bell, Robinson and Maule in consideration for their products being represented in a simulator and that rumor carries much more weight than a lone claim that crash damage is indeed represented.

Unless an aircraft is specifically equipped for that, any third party mod featuring component failures only affects FDE and systems, not the visual model.

I've never heard of that rumour before. It does have a bit of substance though, regarding some manufacturer's attitudes towards consumer level flight sims. My personal explanantion is that the restoration of visual damage was deferred to concentrate on more pressing issues (performance, DirectX10) and ACES never got around before they were axed or that they simply didn't bother anymore because only a small part of FS9 addon aircraft actually made use of the feature.
 
I copied the default C182 from FS9 to FSX/A and added the visual_damage=1 flag to the aircraft.cfg (flag missing by default).

Of course, crash detection was turned on.
Capture.JPG
Capture-2.JPG
Capture-3.JPG


As I understand it, FSX native models cannot be coded with crash parts yet FSX has no problem displaying them.

FS9 crash model textures have the "_D" suffix.

cheers,
Lane
 
See? Told you guys it was true. Just to be clear, even when the "visual" aspect of visual damage isn't there, when the flag is enabled the aircraft still acts as if the wing wasn't there.
 
I copied the default C182 from FS9 to FSX/A and added the visual_damage=1 flag to the aircraft.cfg (flag missing by default).

Of course, crash detection was turned on.


As I understand it, FSX native models cannot be coded with crash parts yet FSX has no problem displaying them.

FS9 crash model textures have the "_D" suffix.
Yes that is amazing to see and lamentably, only ground contact initiated..
 
If you think about it though, you'd have to be a skillfully poor pilot to end up hitting something like a building (though tree damage would be nice).
 
Seriously? There are numerous accounts of aircraft contacting towers, cables, trees, each other, etc and through skillful flying return to tarmac or at least end up upright. Then there are all the possibilities with intentionally directed objects, like missiles, or unintentionally directed objects like bird strikes. All of these situations offer much more likelihood of - and therefore support the validity of simulating partial destruction, as compared to CFIT, imo.
 
Unfortunately, the damage is limited to either the wing being there or not being there, so the whole "safe landing" thing is out of the question. I agree that it would be very cool, and I recommend you read about Pan Am flight 845, really amazing airmanship if you ignore the first part.

I almost wonder if there's a way to read which contact points are being activated and use that with an external flight model to implement things like leading edge deformation and partial wing failure.
 
If you think about it though, you'd have to be a skillfully poor pilot to end up hitting something like a building (though tree damage would be nice).

No, tree damage wouldn't be nice because the tree placement at some smaller airports is decidedly poor and you'll be crashing more often than not despite being perfectly positioned on the GS.


Unfortunately, the damage is limited to either the wing being there or not being there, so the whole "safe landing" thing is out of the question. I agree that it would be very cool, and I recommend you read about Pan Am flight 845, really amazing airmanship if you ignore the first part.

The flight numnber was 843. 845 was a Stratocruiser that had to ditch.
https://en.wikipedia.org/wiki/Pan_Am_Flight_843

I almost wonder if there's a way to read which contact points are being activated and use that with an external flight model to implement things like leading edge deformation and partial wing failure.

Why so complicated? Just have a gauge script deflect the ailerons to induce roll in the direction of the damaged wing. No need for an external module.
 
Why so complicated? Just have a gauge script deflect the ailerons to induce roll in the direction of the damaged wing. No need for an external module.
That wouldn't overwrite the joystick position though, and the joystick is probably polled separately from the gauge update loop (I'd imagine just before each flight model execution). You'd have to do some C++ trickery and maybe hook into the DirectInput interfaces to overwrite the joystick with that method.

Rather than run a separate flight model though, I'd think you could use SimConnect and at each FRAME event adjust the velocity and acceleration vectors for the effects of the "damage vector" and/or adjust the actual position and orientation to "apply" that vector . (I don't know if the flight model is run before or after a SimConnect FRAME event, but I remember seeing jittering if you just change the position at each frame event, because the physics apparently interpolates along the cached vectors in-between running the full flight model at a lesser frequency than what it draws at).
 
That wouldn't overwrite the joystick position though, and the joystick is probably polled separately from the gauge update loop (I'd imagine just before each flight model execution). You'd have to do some C++ trickery and maybe hook into the DirectInput interfaces to overwrite the joystick with that method.

Rather than run a separate flight model though, I'd think you could use SimConnect and at each FRAME event adjust the velocity and acceleration vectors for the effects of the "damage vector" and/or adjust the actual position and orientation to "apply" that vector . (I don't know if the flight model is run before or after a SimConnect FRAME event, but I remember seeing jittering if you just change the position at each frame event, because the physics apparently interpolates along the cached vectors in-between running the full flight model at a lesser frequency than what it draws at).

Joystick input is overwritten 18.2 times per second in a 2D gauge or at framerate if you execute the code in the aircraft model file. Believe me whe I say that this is indeed enough to counteract your inputs.
 
Back
Top