I use Max 2012 with Open Collada plugin. Plane elements should be separate meshes, with its own Pivots. Than group all meshes and name that group after the plane before exporting it to DAE. Also it's a good thing to properly name materials. When importing resulting file to OT don't forget to check all meshes you what to animate as BONES, or animations won't work.
I used
JSBSim Aeromatic to create simple flightmodel, engine and propeller. I have to rewrite <contact type="BOGEY" name="LEFT_MAIN">, <contact type="BOGEY" name="RIGHT_MAIN"> and <contact type="BOGEY" name="TAIL"> positions in main FDM file, Shavrov_Sh-2.xml, to correspond tire collision points with 3d model. Tried to mess a bit with wings etc. but result was unflyable FDM, so I just tuned a bit DRAG and LIFT sections of the same xml to get more or less normal speeds. Also placing FDM files is important, main file should be in the /jsbsim/aircraft/[addon name] directory, and engine and prop files should be in /jsbsim/engine directory.
Last thing is animations script, sh2.aircraft.js. I've never used JavaScript before, but it's not hard to understand looking at default Cessna script file. There's some rules in JS, which I didn't know, but if error was made in the script you'll see it in the debug window of OT, and in the eng.log file.
Don't forget also to write your script and FDM file to model's .objdef .
There's how importing looks like:
to install aircraft user needs to open Outerra, import the addon from DAE format (chose right object to import and check all the bones for animations), exit Outerra, place .js script, .matlib and .objdev files to /packages/ folder and flight dynamic files into /jsbsim/aircraft/[addon name] folder (and some of them in /Engine/ subfolder), start Outerra and hope that nothing went wrong
Don't forget to convert all the textures to DDS format, or importing will be impossible.
P.s. Glass is just a material type, you can copy it from default Cessna .matlib file. The prop uses opacity texture, but it's just another material like in Cessna. The logic of prop meshes hiding/appearing is in the .js script file.
Camera position is set in the script file as well, by one of the objects of the aircraft (could be just dummy):
this.set_fps_camera_pos(
geom.get_joint_local_pos(geom.get_joint('ochki')));
}