FSIC Messageboard
  SDOE General
  Control Surface Damage

Post New Topic  Post A Reply
profile | register | preferences | faq | search

UBBFriend: Email This Page to Someone! next newest topic | next oldest topic
Author Topic:   Control Surface Damage
jedi
Pilot
posted 08-27- 09:31 PM     Click Here to See the Profile for jedi   Click Here to Email jedi     Edit/Delete Message   Reply w/Quote
Well, I think I've figured out how to simulate the loss of a control surface so that it affects your aerodynamics. Here's how for those who may want to try it (instructions for an aileron, but other surfaces use the same idea)...

First, the actual control surface is NOT the aileron, rudder, or elevator MODEL--those are just visual appendages that flop back and forth. The actual aerodynamic forces are generated by the parent object: the wingtip for the aileron, vert stab for the rudder, and horiz stab for the elevator. So, to eliminate the effect of the control, you have to remove the actual airfoil itself.

So, to enable an aileron to get "shot off," first make a copy of the leftWingTip, including the aileron, in OPS. Copy the wingtip to itself, so you have "leftWingTip1" as a child of "leftWingTip." leftWingTip1 has its own child, aileronLeft1. Now, DELETE the aileron from the original wingtip. Now your original leftWingTip model has no aileron model, and you have a second wingtip superimposed over the first, which DOES have an aileron model.

Then, edit the properties of the original wingtip. Find the "obAirfoil" property. Delete the entries for "airControl" and "airObject." This removes the aileron aero forces from the original wingtip. Don't worry, because leftWingTip1 still has an aileron property.

If you wish, you can change the name of aileronLeft1 to plain old "aileronLeft" now. If you do, make sure the "airObject" property of leftWingTip1 lists "aileronLeft" as its target.

Now, open the properties for the main fuselage object. Find "aircLeftWing" and add 'leftWingTip1 to the list. This makes your new leftWingTip1 a "target" airfoil, so that the stick will move the aileron on the new wingtip model.

Now, you need to edit the damage properties of the wingtips to detach the new wingtip. The easiest way is just to open the obDamage property of the new leftWingTip1 model. Give it an onDmg property, for example, "onDmg 5." Append "obDetach" to "onDmg 5." So, when you reach damage level 5 on the new wingtip, it will detach, taking the aileron with it, and leaving a wingtip model with a missing aileron.

Just to be safe, add a damage property to the original wingtip, so that it will cause the new wingtip to detach. It's possible to damage the old wingtip since it occupies the same space as the new one.

Lastly, adjust the "airArea" properties for the old wingtip and new wingtip. Say the old wingtip had an airArea of 50. Start out by changing the new leftWingTip1 airArea to 40, and change the old leftWingTip airArea to 10. You may have to play with these values to get the new plane to "feel" the same as the old one. You want the old wingtip to be "smaller" than the new one, so that when the aileron is "shot away," the airplane will tend to roll toward the damaged wing (the aileron is part of the wing surface and contributes to the airfoil's efficiency).

You might have to do some re-testing on the flight model next, since you've been fiddling with the airfoils. In particular the roll rate may have to be readjusted.

That's basically it. When your wingtip takes enough damage, the new wingtip will separate, taking the aileron with it. The old wingtip no longer has any aileron properties, nor a visual model of the aileron, so it will look AND fly like it's missing an aileron.

Now just do the same thing to the other wingtip, both horiz stabs, and the vert stab

------------------
--jedi--

IP: Logged

Sv
Pilot
posted 08-27- 09:57 PM     Click Here to See the Profile for Sv   Click Here to Email Sv     Edit/Delete Message   Reply w/Quote
Well jedi, you have just done a great job of re-inventing the wheel
http://www.fightersquadron.com/ubb/Forum7/HTML/000334.html

I mentioned the idea and Charm actually did it... I forget what plane, maybe the Fokker DVIII.
http://www.fightersquadron.com/ubb/Forum7/HTML/000998.html

Just goes to show that great minds think alike

------------------
-Sv =FC=

WWI in SDOE!


IP: Logged

Sv
Pilot
posted 08-27- 10:02 PM     Click Here to See the Profile for Sv   Click Here to Email Sv     Edit/Delete Message   Reply w/Quote
This should be an OpenPlane enhancement, it would be so simple no doubt. If the control surface object is gone, then the aifoil should not interpolate the up/down value.

This clever hack works, but it makes a mess of things and it is hard to get the percentages of the wing FM's correct... FM is hard enough without extra hidden wings, well for me at least

The Morane N has a hacked wing much like this to simulate wing warping. Basicaly there are trailing and leading edge ailerons... many tricky wings, what a mess

-Sv

IP: Logged

jedi
Pilot
posted 08-27- 10:15 PM     Click Here to See the Profile for jedi   Click Here to Email jedi     Edit/Delete Message   Reply w/Quote
Hehe I have a short attention span. At least it works!

This one adds a total of 5 small airfoils. Not sure of the overall effect on the FM, but the ailerons seemed to have only a negligible impact.

The Aussie Spit will have the whole setup in it

------------------
--jedi--

IP: Logged

ArgonV
Pilot
posted 08-27- 10:53 PM     Click Here to See the Profile for ArgonV   Click Here to Email ArgonV     Edit/Delete Message   Reply w/Quote
For the "copied" wingtip, do you delete the LODs for it? If not, this may cause frame rates to drop alot.

Heres a better, frame rate friendly solution: You could delete the LODs for the "copied" wingtip and have it where if the aileron gets shot off, it takes the "copied" wingtip with it... or have it where the origonal wingtip reaches a certain amount of damage, and the "copied" wingtip drops off. (use onDetachs and obFuncs and obDetachs) Dont forget to add obNoCollide to the "copied" wingtip so it will not get in the way of the origonal wingtip. If you already said this, forgive me as I did not see nor understand what you wrote as I missed it.

P.S. Any problems with this idea?

[This message has been edited by ArgonV (edited 08-27-2000).]

IP: Logged

charmstar
Pilot
posted 08-28- 01:01 AM     Click Here to See the Profile for charmstar   Click Here to Email charmstar     Edit/Delete Message   Reply w/Quote
Yeah, if you do a search for this, you can find the hack that we came up with back in February or something? Anyhow, I found that it worked well for the rudder, but it changed the FM when used on ailerons and elevators. Some people ran into problems with the AI refusing to fly planes that had been modified like this, but I never noticed them myself.

Your idea is interesting because it won't affect the FM the way mine does. Either way you look at it though, OpenPlane has a problem with how control surfaces are handled. All models should just have an airfoil with one set of drag/lift coefficents, and have the control surfaces modeled as their own airfoils which increase drag when out of line with the wing airfoil. Instead, wings have 3 sets of lift/drag data, and the control surface is just eye candy. Basically the so cool physics engine sits by the wayside while a hack is done to determine changed lift/drag values with a change in control surface positions.

I guess you could create your own airfoils that don't contain differing UP/DOWN airfoil data, and add special airfoils to the control surfaces, but I don't know how effective/framerate friendly that would be, or whether the AI would handle it well.

good luck with this!
charm

IP: Logged

Raider
Pilot
posted 08-28- 03:28 AM     Click Here to See the Profile for Raider   Click Here to Email Raider     Edit/Delete Message   Reply w/Quote
That's it. It works. Without all the mess.

1.Copied LWTip, then pasted it back to LWTip
(That created LWTip1, LWTipDmg1 and leftAileron1)

2. Deleted the LWTipDmg1 and leftAileron1

3. In the properties for the LWTip1 I deleted everything that was not wing related
(Like damage and BodyPoints - this is still controled by the original LWTip)

4. Left the airControl to the original aileron (leftAileron)
(The new wingtip actually controls the original aileron.)

5. Deleted all the lods for LWTip1

6. Added 'LWTip1 to the aircLeftWing property of the main body.


On the original LWTip

7. onDmg X, added all the wing properties for the the wing
(airSection, airK, airAR, airAdvantage, airArea, obAirfoil, airChord, airPT)

8. Deleted those properties from the wing - as well as AirControl
(Now the wing will not control the aileron)

9. Added obExec to the onDmgX to detach the LWTip1.

So when you start the game, the the new wingTip has all the wing properties, and the old wingTip has no wing properties (Until the new wingTip is detached), then the wing properties are given back to the old wingTip

(Does that make sense?)

When Dmg X is reached LWTip1 is detached, and the old wing is given wing properties, but no airControl

The AI doesn't seem to mind this, they still fly the plane. I did see one go into a spiral after shooting his wing tip, then he recovered. (This was very cool)

With both ailerons disabled you have to use the rudder to counter for prop rotation.

Man I love this sim.

If you want to take a look at it, let me know and I will send you what I have.

Another thing,
We could leave the airControl in for the leftAileron and add airMax .X to reduce the amount of range it would have.

------------------
Raider 33rd~GS
Raiders Site

[This message has been edited by Raider (edited 08-28-2000).]

IP: Logged

Raider
Pilot
posted 08-28- 04:12 AM     Click Here to See the Profile for Raider   Click Here to Email Raider     Edit/Delete Message   Reply w/Quote
This method seems to work, I have been testing it.

------------------
Raider 33rd~GS
Raiders Site

[This message has been edited by Raider (edited 08-28-2000).]

IP: Logged

ArgonV
Pilot
posted 08-28- 06:46 AM     Click Here to See the Profile for ArgonV   Click Here to Email ArgonV     Edit/Delete Message   Reply w/Quote
Raider, is the method you used a combination of jedi's and my idea? If so, kewl! if not, still kewl! What plane did you do this for?

IP: Logged

Sv
Pilot
posted 08-28- 07:17 AM     Click Here to See the Profile for Sv   Click Here to Email Sv     Edit/Delete Message   Reply w/Quote
Wow Raider!

Does step 7 really work? I though we were not able to create new airObject durring runtime? Could you chose a new airfoil too? This must be impossible, such things are loaded at startup, no?

If that really works, then we can do many many things!

-Sv

IP: Logged

AGAS - 5
Pilot
posted 08-28- 08:18 AM     Click Here to See the Profile for AGAS - 5   Click Here to Email AGAS - 5     Edit/Delete Message   Reply w/Quote

IP: Logged

Raider
Pilot
posted 08-28- 09:42 AM     Click Here to See the Profile for Raider   Click Here to Email Raider     Edit/Delete Message   Reply w/Quote
ArgonV, Yes, this is from your idea and jedi's mainly, also from what I learned from charmstar, Sv, bjorn and input from a few others.

Team SDOE does it again

Of course I tested this on the P-51D I am updating.

Sv, I was thinking about the way bombs work, their air properties are called from a obFunc when released. As long as the air properties have not been previously defined, you can call them in during runtime.

Yes, this even calls the airfoil. You could choose any airfoil you want. The old airfoil is killed when the other wingTip is killed.

I beleive some properties can be enabled and disabled using dof's. The landing gear has an air property list that is inactive until the gear is lowered. We could play with this idea a little

On my second post, I thought I discovered an easy way to do all of this. Just don't give the wing tip an airMax value. then onDmg X airMax .1 but this did not work. That would have been too simple.

The P-51D still has a little work to be done, I hate to post it as a beta in this unfinished state, but I would be glad send it to anyone that wants to check this out.

------------------
Raider 33rd~GS
Raiders Site

IP: Logged

jedi
Pilot
posted 08-28- 02:50 PM     Click Here to See the Profile for jedi   Click Here to Email jedi     Edit/Delete Message   Reply w/Quote
OK, cool. I didn't realize you could add in the airX values using a damage-induced obFunc. I'll have to try that one next--it's a bit more elegant, and doesn't require me to juggle the area properties.

Thanks Argon! Hadn't thought of deleting the .lods for the extra wingtip. I still have the "fake" wingtip flying off visibly. You just solved the last problem I think

It does work pretty well. With both ailerons shot off, the rudder is the only thing functional, but it's just possible to keep control of the plane. Using Raider's technique, there should be NO FM impact, because only one of the wing surfaces is actually an airfoil at any one time. I'll have to try that one tonight.

------------------
--jedi--

IP: Logged

ArgonV
Pilot
posted 08-28- 02:56 PM     Click Here to See the Profile for ArgonV   Click Here to Email ArgonV     Edit/Delete Message   Reply w/Quote
One small step for modeling techniques. One... giant leap for modeling damage.

IP: Logged

charmstar
Pilot
posted 08-28- 08:03 PM     Click Here to See the Profile for charmstar   Click Here to Email charmstar     Edit/Delete Message   Reply w/Quote
Wow! That's really great news. I never realized you could instantiate an airfoil and its properties runtime. I bet that the airMax idea didn't work because there's probably a default value if it isn't specified. Anyhow, looking forward to the '51!

charm

IP: Logged

Condor
Pilot
posted 08-29- 10:54 AM     Click Here to See the Profile for Condor   Click Here to Email Condor     Edit/Delete Message   Reply w/Quote
Jedi,

What are your latest findings with all this amazing stuff? I am very interested to hear any news regarding this type of damage effect. I hope this process and the bullet damage effects can be ported to all the planes for pp5.4. I am not holding my breath though.

Thanks,

Condor out

------------------

IP: Logged

All times are CT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  Post A Reply
Hop to:

Contact Us | Fighter Squadron Information Center

(This site Copyright (c) 1999 Inertia LLC)

Powered by Infopop www.infopop.com © 2000
Ultimate Bulletin Board 5.45c