Damage simulation

NachtPiloten

Kurier auf Stube...pauke!
Staff member
I know that pure black makes things invisible. Now, if you make some of the cannon and or gun damage have pure black and when the damage displays is the area on the model invisible, and does this also make say everything in that area invisible or just the immediate layer? It would be cool to have say cannon damage that exposes the ribbing underneath the skin, anyone have the answer? The post by 65oldschool of the b17 with the perforated tail section had me wondering. I guess you could make a endcap that was visiable after damage to display like that... Just a thought. Hope folks chime in......I know the WOFF folks have cool damage models but as the old song goes "My lips are sealed" is usually the response I get from them......
 
I would think that the alpha would only affect that part of the texture that it is blocking/covering. If you have an internal model under a certain area and have that area on the t_damage.dds, then once that area is removed from taking damage the internal model should be visible (?).

As a side note: I have alpha'ed a great many textures and have noticed that through varying degrees of zooming in/out a thin border will appear around that part that has an alpha applied. I assume this has something to do with the LOD.
 
Smoke or fire in relation to damage may be controlled by editing the System damage profile in an aircraft's XDP (in this case the stock B-25).

<System ID="engine_one" Name="Engine One">
<Threshold Level="25" Effect="Library" Parameter="fx_engfire_s" Location="emitter_damage_engine_0"/>
<Threshold Level="50" Effect="Library" Parameter="fx_engfire_m" Location="emitter_damage_engine_0"/>
<Threshold Level="75" Effect="Library" Parameter="fx_engfire_l" Location="emitter_damage_engine_0L"/>
<Threshold Level="100" Effect="Library" Parameter="fx_airexpl_m" Location="emitter_damage_engine_0"/>
<Threshold Level="100" Effect="Library" Parameter="fx_engfire_l" Location="emitter_damage_engine_0L"/>
<Threshold Level="100" Effect="Library" Parameter="fx_engfire_s" Location="emitter_damage_engine_0_piece"/>
<Threshold Level="100" Effect="Break" Parameter="" Location=""/>
</System>

Let's say you want to change "fx_engfire_s" to "fx_smoke_green" and have it show up at a lower damage level. Overwrite "fx_engfire_s" with "fx_smoke_green" and change Threshold level "25" to Threshold level "10". Green smoke (or whatever effect you chose) should show up when light damage occurs to Engine One.

Take note: Location="emitter_damage_engine_0" is where the desired effect will show up. To have any effect show up in such a way, anywhere on an aircraft/ship/vehicle, requires an emitter to be within the M3D/Model at the appropriate location.
 
I know that pure black makes things invisible. Now, if you make some of the cannon and or gun damage have pure black and when the damage displays is the area on the model invisible, and does this also make say everything in that area invisible or just the immediate layer? It would be cool to have say cannon damage that exposes the ribbing underneath the skin, anyone have the answer? The post by 65oldschool of the b17 with the perforated tail section had me wondering. I guess you could make a endcap that was visiable after damage to display like that... Just a thought. Hope folks chime in......I know the WOFF folks have cool damage models but as the old song goes "My lips are sealed" is usually the response I get from them......
If you are meaning if you make the center of bullet hole textures transparent, no, unfortunately you'll just see aircraft skin where the hole should be instead of aircraft internals.

You can take a look at the mos and damage files I made for the SJ Fw 190s and Spitfires to see how the damage texture can remove aircraft skin. I used it in those aircraft to create the appearance of fabric covering being ripped off of control surfaces. It only works on certain parts of the aircraft, and I'm not entirely sure why or how, but I have had success doing that to control surfaces. You could take that farther by modeling the internal structure of those parts so there is more to see when the skin is taken off.

The more detailed approach is to use endcaps as mentioned. You can see this in the SJ Spitfires, with the bullet holes on the sliding canopy. The decal effect bullet holes we used on the windscreen don't move with the canopy, so we couldn't use them there and used an endcap instead. I believe it was engine 3 endcap which of course isn't needed for an engine on a Spitfire, but there are others you could use that aren't in use by the aircraft. To trigger it, you just need to include the system used by your endcap as a line in the appropriate damage box section of the xdp. Just make sure you get the hierarchy right if using the endcap trick on wings or other parts that can be blown off, otherwise the wing might get blown off but the model of the hole in the wing you made as a different endcap will still be there floating in space!
 
Smoke or fire in relation to damage may be controlled by editing the System damage profile in an aircraft's XDP (in this case the stock B-25).

<System ID="engine_one" Name="Engine One">
<Threshold Level="25" Effect="Library" Parameter="fx_engfire_s" Location="emitter_damage_engine_0"/>
<Threshold Level="50" Effect="Library" Parameter="fx_engfire_m" Location="emitter_damage_engine_0"/>
<Threshold Level="75" Effect="Library" Parameter="fx_engfire_l" Location="emitter_damage_engine_0L"/>
<Threshold Level="100" Effect="Library" Parameter="fx_airexpl_m" Location="emitter_damage_engine_0"/>
<Threshold Level="100" Effect="Library" Parameter="fx_engfire_l" Location="emitter_damage_engine_0L"/>
<Threshold Level="100" Effect="Library" Parameter="fx_engfire_s" Location="emitter_damage_engine_0_piece"/>
<Threshold Level="100" Effect="Break" Parameter="" Location=""/>
</System>

Let's say you want to change "fx_engfire_s" to "fx_smoke_green" and have it show up at a lower damage level. Overwrite "fx_engfire_s" with "fx_smoke_green" and change Threshold level "25" to Threshold level "10". Green smoke (or whatever effect you chose) should show up when light damage occurs to Engine One.

Take note: Location="emitter_damage_engine_0" is where the desired effect will show up. To have any effect show up in such a way, anywhere on an aircraft/ship/vehicle, requires an emitter to be within the M3D/Model at the appropriate location.
So I assume this only effects aircraft after they have been hit. What I am after is an AI aircraft, right now a B17, which already has these effects, to appear as a 'cripple'. However, maybe that might be an idea to add something to the effects section of the xdp?
 
Yes, you're after the effects section for what you want James. IIRC there's a pre-damaged B-17 in ETO that you might be able to use for inspiration.
 
Last edited:
Yes, your after the effects section for what you want James. IIRC there's a pre-damaged B-17 in ETO that you might be able to use for inspiration.
I have that by Nigel et al, looking for less visible damage but 1-2 engines out with smoke and fire, I'll look again at that B17 to see what are in the effects section.
 
The B17 damage section can be edited to have smoke and fire with much lower percent damage if you want. The radial engine planes spewed oil and fuel then of course fire, small medium and large and also air_explosion. I have tinkered with the British bombers to reflect what I have read from the diaries on both sides and it seems that the German attacks resulted in quick fires in engines and wing tanks. So I tried to model that. The Whitney that I made a while back does a nice job of burning early as does the Manchester. Have got to get the 4-engined planes too. Just was interested in the see through stuff. I have known that endcaps could work, however they usually display when the plane is done for.
 
Alternative:

<Effect Type="Track" EffectName="fighter_exhaust_blue_flame" PosX="0.57" PosZ="-2.7" PosY="0"/>

<Effect Type="Track" EffectName="fx_N_gtrail" PosX="6.3" PosY="-0.1" PosZ="-4.0" MinVel="85" MaxVel="110"/>

These lines are used in the effects section of an aircraft XDP file (at the bottom). Notice that the exhaust effect is just simply "on" while the gtrail (wingtip vapor) is governed by speed (MinVel/MaxVel). Perhaps one of these types of effects fit the bill? Worth a test on an AI aircraft.

If you're looking to emulate flight characteristics on a damaged aircraft, then that is a whole new can of worms.
 
Alternative:

<Effect Type="Track" EffectName="fighter_exhaust_blue_flame" PosX="0.57" PosZ="-2.7" PosY="0"/>

<Effect Type="Track" EffectName="fx_N_gtrail" PosX="6.3" PosY="-0.1" PosZ="-4.0" MinVel="85" MaxVel="110"/>

These lines are used in the effects section of an aircraft XDP file (at the bottom). Notice that the exhaust effect is just simply "on" while the gtrail (wingtip vapor) is governed by speed (MinVel/MaxVel). Perhaps one of these types of effects fit the bill? Worth a test on an AI aircraft.

If you're looking to emulate flight characteristics on a damaged aircraft, then that is a whole new can of worms.
yep this is what i suggested earlier, the only problem i can think of is that the fire effects may possibly have a duration before they stop
 
Alternative:

<Effect Type="Track" EffectName="fighter_exhaust_blue_flame" PosX="0.57" PosZ="-2.7" PosY="0"/>

<Effect Type="Track" EffectName="fx_N_gtrail" PosX="6.3" PosY="-0.1" PosZ="-4.0" MinVel="85" MaxVel="110"/>

These lines are used in the effects section of an aircraft XDP file (at the bottom). Notice that the exhaust effect is just simply "on" while the gtrail (wingtip vapor) is governed by speed (MinVel/MaxVel). Perhaps one of these types of effects fit the bill? Worth a test on an AI aircraft.

If you're looking to emulate flight characteristics on a damaged aircraft, then that is a whole new can of worms.
Well then the question is to have 1-3 engines idle?
Re Effects, maybe a fire effect i/o exhaust_blue_flame and a smoke effect i/o "fx_N_gtrail with velocity near 0 or i/o engine exhaust smoke..
 
You could add this line to the effects section of the xdp file for the damaged B-17F, it seems to stay on permanently in my install, Ive chosen to just do it using just 1 of the emitters-
<Effect Type="Track" EffectName="fx_engfire_m" Location="emitter_eng0_exh_r"/>
If you want it to appear somewhere other than a emitter you can use the statements
PosX="XX" PosZ="ZZ" PosY="YY" (values must be numbers) instead of the Location="emitter_eng0_exh_r"
X = Fuselage Centreline
X+ = Wing Span Right
X- = Wing Span Left

Y = Wing Height Centrline
Y+ = Above Wing
Y- = Below Wing

Z = Wing Centreline
Z+ = Forward of wing
Z- = Rear of wing

You can aslo combo up different effects using the same location or xyz co-ords, this was just a quick demo using the fx_engfire_m parameter
PjcDRXc.jpg

Ji1t3Bn.jpg

uRO4XwF.jpg
 
Last edited:
Combination of these gives a nice flame and explosion with debris
<Effect Type="Track" EffectName="fx_engfire_m" Location="emitter_eng0_exh_r"/>
<Effect Type="Track" EffectName="fx_oilleak_m" Location="emitter_eng0_exh_r"/>
<Effect Type="Track" EffectName="fx_hydraulic_m" Location="emitter_eng0_exh_r"/>
<Effect Type="Track" EffectName="fx_flmdebris_s" Location="emitter_eng0_exh_r"/>

Wonder if its possible to have a feathered prop as well?

5Rj5mPK.jpg


ZvuJHpx.jpg
 
I have known that endcaps could work, however they usually display when the plane is done for.
It depends on how you set it up. Let's use Endcap0_engine4 to create a gaping hole in the wings that allows you to see internal structure as an example. In this case we're assuming a bomber with less than four engine since there are limited endcaps. Unfortunately this may not be great on four engined bombers since they seem not to have any unused endcaps. Here is the relevant xdp setup:

<Box ID="damagebox_r_wing" Parent="damagebox_fuselage">
<BoxMap SystemID="right_wing" Probability="30" Points="780"/>
<BoxMap SystemID="right_flap" Probability="30" Points="364"/>
<BoxMap SystemID="right_fuel_tank" Probability="10" Points="75"/>
<BoxMap SystemID="aileron_right_cable" Probability="1" Points="10"/>
<BoxMap SystemID="aileron_right" Probability="14" Points="40"/>
<BoxMap SystemID="engine_four" Probability="15" Points="200"/>
</Box>

<System ID="engine_four" Name="Right Wing Structure">
<Threshold Level="100" Effect="Break" Parameter="" Location=""/>
</System>

Hits to the system "engine_four" will be registered with a 15% probability any time "damagebox_r_wing" is hit. It only has 200 hit points, so it will break sooner than the wing almost for certain. You could make it much less if you wanted. When the 200 hit points are depleted, engine_four will break, showing the endcap of a huge hole in the wing.
 
It may also be wise to avoid persistent fire effects. Fires on airplanes tend to be short lived. Either they are put out by a fire suppression system, starved of fuel if possible, and if that doesn't happen rather quickly, with incredibly few exceptions, they burn through critical systems or structures and take the plane down.
 
Great idea - As far as I know you can define a system and as long as it is consistent in the xdp it will work. I will look in the exporter to see what end_caps are available. Hmmmm. This is really good for day missions, not so important for the night stuff but interesting anyway.
 
Great idea - As far as I know you can define a system and as long as it is consistent in the xdp it will work. I will look in the exporter to see what end_caps are available. Hmmmm. This is really good for day missions, not so important for the night stuff but interesting anyway.
I'm curious to hear what the exporter lists.
 
Back
Top