HOME | ABOUT | FORUM | FILES | ARTICLES | MULTIPLAYER | TRAINING | FAQ | GALLERY
Terms of use • Privacy statement  
 

Home Page > All Articles > Flight Simulator Development > Animation for FSX in FS Design Studio


ARTICLE CATEGORIES

 All Recent Articles
 Hovercontrol News
 Flight Simulator Enjoyment
 Flight Simulator Setup
 Hovercontrol Training
 Flightsim Development
 Multiplayer Setup
 Multiplayer Events



   
Animation for FSX in FS Design Studio

Bookmark and Share
• Print Article        

Today I’d like to talk about animation. In the older versions of Flight Sim and FS Design Studio, animation was pretty easy. I could assign a part a specific name and create the model and it would be animated in Flight Sim. More modern Flight Sims like FS2004 and FSX require a bit more work to get the animation to work as desired. My hope is that this post won’t be too complicated. There are some technical terms and procedures that might sound frightening, but really aren’t that bad once you understand them. I’ll try to explain each step as best I can and if I miss something, feel free to drop me a note or write me a comment and I’ll clarify it.

Animation is done using Keyframes. A Keyframe is just that - a key or important frame. Think of the animation of an aileron waving up and down as you turn the plane. In order to animate that I have to assign the positions of the aileron so Flight Sim knows how to draw it. I don’t want the aileron to flip around in a full circle or sit perfectly still, I only want it to rotate a few degrees up and a few degrees down.

A good way to think of keyframe animation is like a old 8mm home movie. Each position of the aileron is like a frame in the movie. Flight Sim has to know where to draw the aileron in each step of the animation. It can’t jump from beginning to end, it has to rotate in a certain direction through all the frames - just like you can’t jump from the first frame of a 8mm movie right to the last frame - you have to go through them all to get to the end.

When animating using keyframes, I am essentially telling Flight Sim how to draw the aileron in each frame of its little ‘movie’. I only have to set 3 points so Flight Sim knows what to do. I set the beginning point, then set a center point and an end point. Flight Sim fills in the positions for all of the frames in between.

Each part in FS Design Studio has an axis. The axis is a set of coordinates (X, Y and Z). To think of these directions in terms of Flight Sim, put yourself in a cockpit and look straight ahead. In this example, X is left and right, Y is up and down and Z is forward and backward. The axis tells me the orientation of the part or which way it’s facing. Animation is based on the axis of the part and a keyframe is set by logging the coordinates of the axis of the part in its different positions.

Y and Z axis X and Z axis

Now that we understand what keyframes are, I’ll get into how to create them in FS Design Studio. There are a few key elements to animating in FS Design Studio for FSX that will make all the difference:

  1. Knowing that every animated part has to have a parent part
  2. That parent part has to have the same axis orientation as the part to be animated
  3. Certain parts have to have the animation off-set in order to appear correctly

#1 - Animation is based on the axis of the part and I animate by rotating the axis. In order to know where to draw the part, we have to anchor it to another part. Think of it as a reference point from which the animation will occur - that’s where the Parent Part comes in.

NOTE: If you don’t set a parent part, all animation will appear in Flight Sim at the center of the aircraft or the 0,0,0 coordinate.

NOTE: Parent parts are used for grouping parts together. In landing gear for example, you may have 25 parts. It’s easier to make all the parts of the gear have a single parent part, then you animate the parent part. When animating or moving a parent, all the child parts will move along with the parent parts in perfect harmony.

Parent Part Structure Parent Part Motion

#2 - The second item is important. The Cessna 172 FSX example that comes in the Samples folder under the FS Design Studio install folder is a straight-winged aircraft, so the axis of the ailerons and flaps will all be straight as well. When animating a plane that has a delta wing with angled flaps and ailerons, orienting the axis is very important and much trickier. I’ll take a look at the rudder of the Cessna later on - that is not straight up and down and will be a bit more difficult.

#3 - Parts like the ailerons and rudder animate in 2 directions and spend most their time in a neutral position. In order to animate them, it’s best to rotate the part into the it’s first or starting position. We call this offsetting the part.

OK it’s time to animate the ailerons on the Cessna 172 that comes with FS Design Studio so open FSDS and click the File | Open menu. I’ll need to browse into the Cessna 152 folder, which is typically found under C:\Program Files\Abacus\FSDS_v3.5\Samples\Cessna152_FSX. I’m looking for the Cessna 152.fsc file.

Once open, I’ll make the left aileron the current part. You can either press the N or P keys to make the part current.

Once current, I’ll change the name of the part. I open the Edit | Part Properties menu or press F2 and then click the Browse button next to the Part Name box at the top. I’ll select FSX Keyframe Animation from the drop-down list, then select the l_aileron_percent_key for the part name and click OK.

This will return me to the Part Properties window. I click OK on the Part Properties window to return to FSDS.

Next I need to check the axis of the part and make sure it’s lined properly. Remember the axis is the point the part will animate/rotate around. This means that I may need to move the axis of the part so that it sits right on the edge where the aileron meets the wing. To do this, I’ll use Part Mode and turn on Move Mode. Now I’ll center the aileron on in the view by RIGHT-clicking on the aileron’s axis and choosing Center from the pop-up menu. I’ll do this in both the Top view and the Side view. Once centered I’ll zoom in a bit by pressing the I (i) key on the keyboard.

Once zoomed in, I hold the SHIFT key down, then click and drag the axis of the aileron into position. In the Top view, I have to move it up until the X-axis is in line with the back edge of the aileron where it meets the wing. I’ll do the same in the Side view, only I’ll move it up or down as needed to position the axis in the center of the aileron.

NOTE: Moving the axis requires you to hold the SHIFT key down, then position the mouse pointer over the axis of the part. Then click and hold the left mouse button down, then move the mouse. You will be holding down the SHIFT key and the left mouse button down and moving the mouse all at the same time.

Now that I have the axis of the aileron in position, the next step is to create a copy of this part. This will allow me to use the copy as a parent part for the animation.

NOTE: Again, with the Cessna example, I could probably use the wing as a parent part since the axis are straight across, but it’s good to get used to this way for future situations where the animation won’t be so easy.

To copy the part, I press CTRL + C to copy the part, then CTRL + V to paste the part. I could also use the Edit menu and choose Copy, then open the Edit menu again and choose Paste, but I’m a keyboard-guy…

After the the Copy/Paste procedure, I’ll take a look at the Status bar at the bottom of the FSDS screen. The part name shown is now l_aileron_percent_key.1. Notice the ‘.1′ at the end. FSDS automatically adds a .1 if another part with the same name is found.

This part will become the Parent Part of the l_aileron_percent_key. To get it ready to be a Parent part, I’ll open the Part Properties and place a check in the Hierarchy Node (No Geometry) box. This box tells FSDS that this part will have no geometry, or in other words, it won’t be visible in Flight Sim. (So you can relax if you were concerned about there being two copies of the aileron.)

Another option here is to change the part name. It can get confusing to deal with l_aileron_percent_key and l_aileron_percent_key.1 and remember which is which. There is no problem with changing the part name of the copy to something like Left Aileron Parent Part so I’ll do that. Here is what the Part Properties window will look like once modified - note that the Hierarchy Node box is checked and that I changed the Part Name.

After clicking OK and returning to the main FSDS screen, I check the Status Bar and notice that the new part name is shown.

Now I have to switch back to the original left aileron part and set it to have a Parent Part in the Part Properties. I can switch back to the original aileron in 2 ways:

  1. Turn OFF the Move Mode, then click the axis of the left aileron. As I do this I’ll watch the Status Bar I can see that FSDS will switch between the 2 parts that have the same axis location. When the l_aileron_percent_key is shown on the Status Bar, then I know I have successfully changed active parts even though the views have not changed.
  2. The second option is to open the Part menu and choose Select By Name. This will open a window allowing me to choose the l_aileron_percent_key part name from the left list, click it to select it, then click the Make Current button and click OK. Again check the Status Bar to confirm the current part.

Once the original l_aileron_percent_key part is the current part I’ll open the Part Properties again. Here I will click the Parent Part drop-down menu and select Left Aileron Parent Part from the list, then click OK.

The next step is to offset the part. As discussed earlier, we need to rotate the part into the first position or to keyframe 0.

NOTE: There really is no documentation on this from Microsoft, it’s just something that you have to learn. The left aileron has to be rotated or offset to its full DOWN position, the right aileron will have to be offset to it’s full UP position, the rudder has to be off set to it’s far LEFT position and the elevators have to be off set to the full DOWN position.

To offset the part, I’ll make sure that the l_aileron_percent_key is the current part and I’ll select the Transform | Edit menu. The part needs to be rotated a negative 30 degrees to put the aileron in the full down position. To do this, I’ll enter -30 for the X-axis since the part will rotate along the X-axis. I’ll also check the Entire Part box and click OK.

NOTE: I chose 30 degrees as an example. If you know the exact number of degrees that the ailerons rotate up and down, you can use that number on your animation.

This will rotate both the aileron and the aileron’s axis.

The next step is to now reset the axis of the part so that is sits level and matches the Parent part’s axis. To do this I’ll use the Part | Reset Axis Rotation menu. This will reset the part axis back to the way it was before we rotated/offset it.

Now everything is ready to set the Keyframes. To set the keyframes, I’ll enter Animation Mode. This is done by clicking the ANI button on the toolbar or clicking the Animate | Animation Mode menu.

Animation mode looks exactly like the regular FSDS screen with a few exceptions; some menu choices are disabled, you can’t create or add new parts in Animation mode, the N and P keys don’t change parts, instead they change keyframes and most importantly, the Status Bar has changed slightly to provide us some important animation information. Looking at the Status Bar, I notice “Frame 0 | l_aileron_percent_key”.

I’ve already offset the aileron to the starting position. This means that I don’t have to do anything special to the part to animate the first keyframe - I just have to set it. So I’ll open the Animate menu and select Set Keyframe. This will set the Frame 0 to the current position. If look back at the Status bar, I see an asterisk next to the number 0. This tells me that I have assigned a position to Frame 0.

The next step is to change the Status bar to show Frame 50. To do this, I’ll press the N key while watching the Status Bar. Every press of the N key will advance the frame count by one, or I can hold the N key down to increase the frame count fast.

Why Frame 50? Because I have to set 3 positions of the aileron - the DOWN position, the CENTER position and the UP position. The aileron requires 100 frames of animation. Obviously Frame 0 is the DOWN position and that would make Frame 100 the UP position, so Frame 50 is the CENTER position.

Now that I am on Frame 50 on the Status bar, I need to rotate the part to the center position. To do this, I’ll choose the Transform | Rotate menu. When offsetting the part, I rotated it negative 30 degrees (-30). To get it back to the center position, I have to rotate it a positive 30 degrees. So I’ll enter 30 (no negative) in the X-axis box and make sure that the Entire Part box is checked and click OK. Once rotated and back to the FSDS screen, I’ll again click the Animate | Set Keyframe menu to lock in the Frame 50.

The next step is to set Keyframe 100 by again holding the N key down until the Status Bar shows Frame 100. Once set, I’ll again rotate the part 30 more degrees to the full UP position and set Frame 100 just as before.

Now that I have an animated aileron, I will exit animation mode by clicking the Animate | Animation Mode menu. If you’ve been following along, you may want to save the project under a new name so as not to overwrite the original. This completes the animation process of the left aileron. The next thing to do is compile the aircraft and check it out in Flight Sim! Remember the only animation is the aileron though!

Here is a quick overview of the steps we took. This can be used for other projects and assumes that already have the parts modeled and in position.

  1. Align the axis of the part to be animated. Use the Part mode with Move mode on. Hold the SHIFT key and click and drag the axis of the part into position. If the axis needs to be rotated, use the Rotate mode and hold the shift key and click/drag the axis to rotate it.
  2. Make a copy of the part.
  3. Set the Part Properties on the copy. Check the “Heirarchy Node (no geometry)” box. Adjust the part name if desired.
  4. Make the part to be animated current.
  5. Open the Part Properties on the part to be animated and set the Parent Part drop-down list to the part name of the copy.
  6. Rotate the part to be animated to the first keyframe position (left aileron = down, right aileron = up, rudder = left, elevator = down) using the Transform | Rotate menu.
  7. Once rotated, reset the part axis using the Part | Reset Axis Rotation menu.
  8. Enter Animation Mode
  9. Set the first keyframe using the Animate | Set Keyframe menu
  10. Move to keyframe 50 using the N key.
  11. Rotate the part to the center position using the Transform | Rotate menu.
  12. Set the keyframe using the Animate | Set Keyframe menu.
  13. Move to keyframe 100 using the N key.
  14. Rotate the part to the last position of the animation.
  15. Set the keyframe using the Animate | Set Keyframe menu.
  16. Compile the aircraft and test it in FSX.

Download or print this article in PDF form from: www.abacuspub.com/adam/blog/pdfs/AnimationForFSXinFSDS.pdf

Posted with permission from Adam Howe and Abacus Publishing.

For more information visit Adam Howe's Flight Simulator Design Studio Blog!





COPYRIGHT 2011 - HOVERCONTROL.COM - ALL RIGHTS RESERVED