Wednesday, November 29, 2006

3D Gauge animations in FSX

As I continue to work on FS9 and FSX (Flight Simulator X) versions of the 'Biff' (Bristol F2B) I have been learning how to create new animated parts using xml code. A few days into this learning process the FSX SDK SP1 was released to beta test and straight onto coding XML animation for FS X.

I have been using the Biff to give the FSX SDK a good workout. The external model FSX version of the Biff is straight conversion of the CFS3 version with FSX materials replacing CFS3 materials and additional animated parts such as animated control wires which one cannot do in CFS3. I'll post more on the material side of things of FSX in a future post.

There is a growing trend, these days, as exemplified by products such as the RealAir Spitfire, to use XML animated 3D instruments instead of the more usual XML or C++ 2D gauges. CFS3 was the first to use this methodology. However CFS3 was limited in that one was limited to gauge animations hard coded into the sim. All one could do in CFS3 was create new artwork and keyframe in 3DS Max/gmax. With FS9 came the ability to create one's own XML animated parts by creating and adding the appropriate xml animation code to makemdl.parts.xml, a component of the MakeMDL SDK in FS9 (FS2004). Just about any part for which a variable existed in the sim could be animated if desired.

However FSX has now arrived and with that an all new animation system. The new animation differs in that all animations have to be keyframed in 3DS Max/gmax. There are no hard coded animations in FS X. Animations such as wheels and propellors have to be key frame animated. There are no rotation animations.

Initially I thought the loss of rotation animation codes would be a problem but so far I have found a simple solution for most needle animations and compass animations without resorting to maths and code statements. I have posted some of my findings at the Freeflight Design forums. I had hoped to post here but the Blogspot software messes up my xml tags in a big way.

Airspeed Example used in FS X Bristol F2b
Compass example for a British Mk5 Compass used in Biff - can be used for any similar compass.

The animation creation process will be covered in the SDK when ACES release it. Hopefully that won't be too far away. There are only a handful of beta testers testing this. However we have all been busy.